From 0864509e1eb593c3dedb66196ec19fe51437922b Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期一, 26 五月 2025 10:25:42 +0800
Subject: [PATCH] 新增货位管理,PDA扫码生成任务烘烤出料,烘烤回炉,空托回流

---
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj     |    1 
 代码管理/NEWCode/WIDESEAWCS_PDA/pages.json                                                          |   18 
 代码管理/NEWCode/WIDESEAWCS_PDA/pages/叫料/空托回流.vue                                                   |   72 --
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/LocationEnum.cs                            |   48 ++
 代码管理/NEWCode/WIDESEAWCS_Client/src/api/http.js                                                  |   12 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Dt_StationinfoService.cs               |   19 
 代码管理/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue                                               |   14 
 代码管理/NEWCode/WIDESEAWCS_PDA/pages/叫料/烘烤回炉.vue                                                   |  127 +++++
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs                      |  207 ++++++++
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/IDt_StationinfoService.cs             |   14 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/IDt_StationinfoRepository.cs        |   14 
 代码管理/NEWCode/WIDESEAWCS_Client/src/views/system/Dt_Stationinfo.vue                              |  207 +++++++++
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Dt_StationinfoRepository.cs          |   18 
 代码管理/NEWCode/WIDESEAWCS_PDA/pages/叫料/烘烤出料.vue                                                   |  111 ++++
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/SendTaskAGV.cs                           |  168 +------
 代码管理/NEWCode/WIDESEAWCS_Client/src/router/viewGird.js                                           |    4 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs               |   11 
 代码管理/NEWCode/WIDESEAWCS_Client/src/extension/system/Dt_Stationinfo.js                           |  112 ++++
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs                    |   17 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Dt_StationinfoController.cs |   17 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/CommonAGVJob.cs                          |    5 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs        |   27 
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/System/Dt_Stationinfo.cs                 |   81 +++
 23 files changed, 1,093 insertions(+), 231 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/api/http.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/api/http.js"
index 6270482..84514c9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/api/http.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/api/http.js"
@@ -12,17 +12,17 @@
 let loadingInstance;
 let loadingStatus = false;
 if (process.env.NODE_ENV == 'development') {
-    axios.defaults.baseURL = 'http://192.168.12.235:9291/';
-    // axios.defaults.baseURL = 'http://127.0.0.1:9291/';
+    // axios.defaults.baseURL = 'http://192.168.12.235:9291/';
+    axios.defaults.baseURL = 'http://127.0.0.1:9291/';
 }
 else if (process.env.NODE_ENV == 'debug') {
-    axios.defaults.baseURL = 'http://192.168.12.235:8098/';
-    // axios.defaults.baseURL = 'http://127.0.0.1:9291/';
+    // axios.defaults.baseURL = 'http://192.168.12.235:8098/';
+    axios.defaults.baseURL = 'http://127.0.0.1:9291/';
 }
 
 else if (process.env.NODE_ENV == 'production') {
-    axios.defaults.baseURL = 'http://192.168.12.235:9291/';
-    // axios.defaults.baseURL = 'http://127.0.0.1:9291/';
+    // axios.defaults.baseURL = 'http://192.168.12.235:9291/';
+    axios.defaults.baseURL = 'http://127.0.0.1:9291/';
 }
 if (!axios.defaults.baseURL.endsWith('/')) {
     axios.defaults.baseURL+="/";
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/extension/system/Dt_Stationinfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/extension/system/Dt_Stationinfo.js"
new file mode 100644
index 0000000..34578e2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/extension/system/Dt_Stationinfo.js"
@@ -0,0 +1,112 @@
+//author:jxx
+//姝ゅ鏄琛ㄥ崟鐨勬柟娉曪紝缁勪欢锛屾潈闄愭搷浣滄寜閽瓑杩涜浠绘剰鎵╁睍(鏂规硶鎵╁睍鍙弬鐓ellOrder.js)
+let extension = {
+    components: {//鍔ㄦ�佹墿鍏呯粍浠舵垨缁勪欢璺緞
+        //琛ㄥ崟header銆乧ontent銆乫ooter瀵瑰簲浣嶇疆鎵╁厖鐨勭粍浠�
+        gridHeader: '',//{ template: "<div>鎵╁睍缁剎x浠�</div>" },
+        gridBody: '',
+        gridFooter: '',
+        //寮瑰嚭妗�(淇敼銆佺紪杈戙�佹煡鐪�)header銆乧ontent銆乫ooter瀵瑰簲浣嶇疆鎵╁厖鐨勭粍浠�
+        modelHeader: '',
+        modelBody: '',
+        modelFooter: ''
+    },
+    buttons: { view: [], box: [], detail: [] },//鎵╁睍鐨勬寜閽�
+    methods: {//浜嬩欢鎵╁睍
+        onInit() {
+            this.pagination.order = "asc"; 
+            
+            this.columns.forEach(row => {
+                if (row.field == "stationCode") {
+                    row.sort = true;
+                } else if (row.field == "lastInTime") {
+                    row.sort = true;
+                }
+
+                if (row.field == "getStatus") {
+                    row.getColor = (row, column) => {
+                        if (row.getStatus == -1) {
+                            return "info";
+                        } else if (row.getStatus == 0) {
+                            return "success";
+                        } else if (row.getStatus == 1) {
+                            return "waring";
+                        }
+                    }
+                } else if (row.field == "enable") {
+                    row.getColor = (row, column) => {
+                        if (row.enable == 1) {
+                            return "success";
+                        } else {
+                            return "error";
+                        }
+                    }
+                }
+            })
+            this.buttons.splice(1, 0, {
+                name: "鍙栨秷绂佺敤",
+                icon: 'md-refresh',
+                type: 'primary',
+                onClick: function () {
+                    let rows = this.$refs.table.getSelected();
+                    if (rows.length == 0) return this.$error("璇烽�夋嫨瑕佸彇娑堢鐢ㄧ殑鏁版嵁");
+
+                    this.$confirm('纭瑕佸彇娑堢鐢ㄥ悧?', '璀﹀憡', {
+                        confirmButtonText: '纭畾',
+                        cancelButtonText: '鍙栨秷',
+                        type: 'warning',
+                        center: true
+                    }).then(() => {
+                        let data = [];
+                        let parm = {
+                            "data": data,
+                            "type": "1"
+                        }
+                        rows.forEach(t => data.push(t.id))
+                        this.http.post("/api/dt_stationinfo/SetStationEnable", parm, "鍙栨秷绂佺敤涓�...").then(x => {
+                            if (x.status) {
+                                this.$Message.success("鍙栨秷绂佺敤鎴愬姛!");
+                                this.refresh();
+                            } else {
+                                this.$Message.error(x.message);
+                            }
+                        })
+                    });
+                }
+            })
+
+            this.buttons.splice(1, 0, {
+                name: "绂佺敤",
+                icon: 'md-refresh',
+                type: 'danger',
+                onClick: function () {
+                    let rows = this.$refs.table.getSelected();
+                    if (rows.length == 0) return this.$error("璇烽�夋嫨瑕佺鐢ㄧ殑鏁版嵁");
+
+                    this.$confirm('纭瑕佺鐢ㄥ悧?', '璀﹀憡', {
+                        confirmButtonText: '纭畾',
+                        cancelButtonText: '鍙栨秷',
+                        type: 'warning',
+                        center: true
+                    }).then(() => {
+                        let data = [];
+                        let parm = {
+                            "data": data,
+                            "type": "0"
+                        }
+                        rows.forEach(t => data.push(t.id))
+                        this.http.post("/api/dt_stationinfo/SetStationEnable", parm, "閿佸畾涓�...").then(x => {
+                            if (x.status) {
+                                this.$Message.success("绂佺敤鎴愬姛锛�");
+                                this.refresh();
+                            } else {
+                                this.$Message.error(x.message);
+                            }
+                        })
+                    });
+                }
+            })
+        }
+    }
+};
+export default extension;
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/router/viewGird.js"
index d5dee3b..0826540 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/router/viewGird.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/router/viewGird.js"
@@ -61,6 +61,10 @@
     path: '/router',
     name: 'router',
     component: () => import('@/views/basicinfo/router.vue')
+  }, {
+    path: '/Dt_Stationinfo',
+    name: 'Dt_Stationinfo',
+    component: () => import('@/views/system/Dt_Stationinfo.vue')
   }]
 
 export default viewgird
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/views/system/Dt_Stationinfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/views/system/Dt_Stationinfo.vue"
new file mode 100644
index 0000000..337a09a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Client/src/views/system/Dt_Stationinfo.vue"
@@ -0,0 +1,207 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/system/system/Base_routing_table.js姝ゅ缂栧啓
+ -->
+<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/system/Dt_Stationinfo.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "绔欑偣鏌ヨ",
+      name: "/Dt_Stationinfo",
+      url: "/Dt_Stationinfo/",
+      sortName: "id",
+    });
+    const editFormFields = ref({
+      stationType: "",
+      location_state: "",
+      lastUpdateTime: "",
+    });
+    const editFormOptions = ref([
+      [
+        {
+          title: "绔欑偣鍦板潃",
+          required: true,
+          field: "stationCode",
+          type: "text",
+          disabled: true,
+        },
+        {
+          title: "鐗╂枡绫诲瀷",
+          field: "stationType",
+          type: "select",
+          dataKey: "materieInfo",
+        },
+        {
+          title: "缂撳瓨鏋剁姸鎬�",
+          required: false,
+          field: "location_state",
+          type: "select",
+          data: [
+            { key: "0", value: "绌烘嫋" },
+            { key: "1", value: "閿佸畾" },
+            { key: "2", value: "婊℃嫋" },
+          ],
+        },
+      ],
+      [
+        {
+          title: "澶囨敞",
+          field: "remark",
+          type: "text",
+        },
+        //  {
+        //   title: "鏈�鍚庢洿鏂版椂闂�",
+        //   field: "lastUpdateTime",
+        //   type: "datetime",
+        // },
+      ],
+    ]);
+    const searchFormFields = ref({
+      route_began: "",
+      route_end: "",
+      area: "",
+    });
+    const searchFormOptions = ref([
+      [
+        { title: "绔欑偣鍦板潃", field: "stationCode", type: "like" },
+        {
+          title: "鍖哄煙",
+          field: "area",
+          type: "select",
+          dataKey: "station_area",
+        },
+      ],
+      [
+        {
+          title: "缂撳瓨鏋剁姸鎬�",
+          field: "location_state",
+          data: [
+            { key: "0", value: "绌烘嫋" },
+            { key: "1", value: "閿佸畾" },
+            { key: "2", value: "婊℃嫋" },
+          ],
+          type: "select",
+        },
+        {
+          title: "鏄惁鍚敤",
+          field: "enable",
+          data: [
+            { key: "true", value: "鍚敤" },
+            { key: "false", value: "绂佺敤" },
+          ],
+          type: "select",
+        },
+        { title: "澶囨敞", field: "remark", type: "like" },
+      ],
+    ]);
+    const columns = ref([
+      {
+        field: "id",
+        title: "ID",
+        type: "guid",
+        width: 60,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "stationCode",
+        title: "绔欑偣鍦板潃",
+        type: "string",
+        width: 110,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "area",
+        title: "鍖哄煙",
+        type: "string",
+        width: 80,
+        align: "left",
+        bind: { data: [] },
+      },
+      {
+        field: "location_state",
+        title: "缂撳瓨鏋剁姸鎬�",
+        type: "string",
+        width: 90,
+        require: true,
+        align: "left",
+        bind: {
+          key: "",
+          data: [
+            { key: "0", value: "绌烘嫋" },
+            { key: "1", value: "閿佸畾" },
+            { key: "2", value: "婊℃嫋" },
+          ],
+        },
+      },
+      {
+        field: "lastUpdateTime",
+        title: "鏈�鍚庢洿鏂版椂闂�",
+        type: "string",
+        width: 120,
+        align: "left",
+        sort: true,
+      },
+      {
+        field: "enable",
+        title: "鏄惁鍚敤",
+        type: "string",
+        width: 60,
+        align: "left",
+        bind: {
+          data: [
+            { key: true, value: "鍚敤" },
+            { key: false, value: "绂佺敤" },
+          ],
+        },
+      },
+      {
+        field: "remark",
+        title: "澶囨敞",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+    ]);
+    const detail = ref({
+      cnName: "#detailCnName",
+      columns: [],
+      sortName: "",
+      key: "",
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+    };
+  },
+});
+</script>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages.json"
index 0f5533e..9a78c68 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages.json"
@@ -40,9 +40,23 @@
 			}
 		},
 		{
-			"path": "pages/鍙枡/杈撻�佺嚎鍥炴祦",
+			"path": "pages/鍙枡/绌烘墭鍥炴祦",
 			"style": {
-				"navigationBarTitleText": "杈撻�佺嚎鍥炴祦",
+				"navigationBarTitleText": "绌烘墭鍥炴祦",
+				"enablePullDownRefresh": false
+			}
+		},
+		{
+			"path": "pages/鍙枡/鐑樼儰鍥炵倝",
+			"style": {
+				"navigationBarTitleText": "鐑樼儰鍥炵倝",
+				"enablePullDownRefresh": false
+			}
+		},
+		{
+			"path": "pages/鍙枡/鐑樼儰鍑烘枡",
+			"style": {
+				"navigationBarTitleText": "鐑樼儰鍑烘枡",
 				"enablePullDownRefresh": false
 			}
 		},
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue"
index a784728..c302442 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/index/index.vue"
@@ -28,8 +28,18 @@
 						image: "data:image/png;base64,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"
 					},
 					{
-						text: '涓夋ゼ杈撻�佺嚎鍥炴祦',
-						url: 'pages/鍙枡/杈撻�佺嚎鍥炴祦',
+						text: '涓夋ゼ绌烘墭鍥炴祦',
+						url: 'pages/鍙枡/绌烘墭鍥炴祦',
+						image: "data:image/png;base64,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"
+					},
+					{
+						text: '涓夋ゼ鐑樼儰鍑烘枡',
+						url: 'pages/鍙枡/鐑樼儰鍑烘枡',
+						image: "data:image/png;base64,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"
+					},
+					{
+						text: '涓夋ゼ鐑樼儰鍥炵倝',
+						url: 'pages/鍙枡/鐑樼儰鍥炵倝',
 						image: "data:image/png;base64,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"
 					},
 					// {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\203\230\347\203\244\345\207\272\346\226\231.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\203\230\347\203\244\345\207\272\346\226\231.vue"
new file mode 100644
index 0000000..8f2bca4
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\203\230\347\203\244\345\207\272\346\226\231.vue"
@@ -0,0 +1,111 @@
+<template>
+	<view>
+		<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
+		</uni-segmented-control>
+		<view class="content">
+			<view v-if="current === 0" class="headerstyle">
+				<view class="itemstyle">
+					<uni-forms label-width="120">
+						<uni-forms-item label="鐑樼儰鍑烘枡缂栫爜">
+							<uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress"
+								placeholder="璇锋壂鎻忕儤鐑ょ紪鐮�" ref='midInput' @input="inputChangebarcode" />
+							</uni-easyinput>
+						</uni-forms-item>
+						<button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鎼繍纭</button>
+						</uni-forms-item>
+					</uni-forms>
+				</view>
+			</view>
+		</view>
+		<u-toast ref="uToast" />
+	</view>
+</template>
+
+<script>
+	const innerAudioContext = uni.createInnerAudioContext();
+	export default {
+		data() {
+			return {
+				items: ['杈撻�佺嚎鎼繍'],
+				current: 0,
+				label: "",
+				focus: false,
+				addressFocus: false,
+				sourceAddress: "",
+			}
+		},
+		methods: {
+			voiceSpeech(src) {
+				innerAudioContext.src = src; // '../../static/success.mp3';
+				innerAudioContext.play();
+			},
+			onClickItem(e) {
+				this.focus = false;
+				this.addressFocus = false;
+				if (this.current !== e.currentIndex) {
+					this.current = e.currentIndex;
+					if (this.current == 2) {
+						this.getData();
+					}
+				}
+			},
+			inbound() {
+				// 鎻愬彇杈撳叆妗嗙殑鍊�
+				const sourceAddress = this.sourceAddress;
+			
+				if (sourceAddress == "") {
+					this.$t.message.toast('璇烽�夋嫨璧风偣浣嶇疆');
+					return;
+				}
+				// console.log(Exception);
+				this.$u.post('/api/PDA/OutBoundTask', sourceAddress).then(res => {
+					this.$t.message.closeLoading();
+					if (res.code == 0) {
+						this.$t.message.toast('鍛煎彨鎴愬姛');
+						this.sourceAddress = "";
+							// this.$refs.popup.close();
+						// this.submit();
+					} else {
+						this.$t.message.toast(res.message);
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: err.message,
+						type: "error"
+					})
+				})
+			},
+			
+			inputChangebarcode() {
+				this.addressFocus = false;
+				this.$nextTick(function(x) {
+					if (this.sourceAddress != '') {
+						this.addressFocus = true;
+					}
+				})
+			},
+		}
+	}
+</script>
+<style lang="scss">
+	@import '@/common/uni-ui.scss';
+
+	.content {
+		display: flex;
+		height: 150px;
+	}
+
+	.content-text {
+		font-size: 14px;
+		color: #666;
+	}
+
+	.itemstyle {
+		margin-top: 30px;
+		margin-left: 5%;
+	}
+
+	.headerstyle {
+		width: 90%;
+	}
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\203\230\347\203\244\345\233\236\347\202\211.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\203\230\347\203\244\345\233\236\347\202\211.vue"
new file mode 100644
index 0000000..241be68
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\203\230\347\203\244\345\233\236\347\202\211.vue"
@@ -0,0 +1,127 @@
+<template>
+	<view>
+		<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
+		</uni-segmented-control>
+		<view class="content">
+			<view v-if="current === 0" class="headerstyle">
+				<view class="itemstyle">
+					<uni-forms label-width="120">
+						<uni-forms-item label="璧风偣缂撳瓨鏋跺湴鍧�">
+							<uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress"
+								placeholder="璇锋壂鐬勮捣鐐瑰湴鍧�" ref='midInput' @input="inputChangebarcode" />
+							<!-- <uni-data-select v-model="value" :localdata="rangs"></uni-data-select> -->
+						</uni-forms-item>
+						<uni-forms-item label="缁堢偣鐑樼儰鏈轰笂鏂欏湴鍧�">
+							<uni-easyinput type="text" :focus="!addressFocus" v-model="targetAddress"
+								placeholder="璇锋壂鎻忕粓鐐瑰湴鍧�" ref='midInput' @input="inputChangebarcode" />
+						</uni-forms-item>
+						<button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鎼繍纭</button>
+						</uni-forms-item>
+					</uni-forms>
+				</view>
+			</view>
+		</view>
+		<u-toast ref="uToast" />
+	</view>
+</template>
+
+<script>
+	const innerAudioContext = uni.createInnerAudioContext();
+	export default {
+		data() {
+			return {
+				items: ['杈撻�佺嚎鎼繍'],
+				current: 0,
+				label: "",
+				focus: false,
+				addressFocus: false,
+				sourceAddress: "",
+				targetAddress: ","
+			}
+		},
+		methods: {
+			voiceSpeech(src) {
+				innerAudioContext.src = src; // '../../static/success.mp3';
+				innerAudioContext.play();
+			},
+			onClickItem(e) {
+				this.focus = false;
+				this.addressFocus = false;
+				if (this.current !== e.currentIndex) {
+					this.current = e.currentIndex;
+					if (this.current == 2) {
+						this.getData();
+					}
+				}
+			},
+			inbound() {
+				// 鎻愬彇杈撳叆妗嗙殑鍊�
+				const sourceAddress = this.sourceAddress;
+				const targetAddress = this.targetAddress;
+				if (sourceAddress == "") {
+					this.$t.message.toast('璇锋壂鎻忚捣鐐逛綅缃�');
+					return;
+				}
+				if (targetAddress == "") {
+					this.$t.message.toast('璇锋壂鎻忕粓鐐逛綅缃�');
+					return;
+				}
+				var PostData = {
+					MainData: {
+						"sourceAddress": this.sourceAddress,
+						"targetAddress": this.targetAddress,
+					}
+				}
+				// console.log(Exception);
+				this.$u.post('/api/PDA/OutBoundTasks', PostData).then(res => {
+					this.$t.message.closeLoading();
+					if (res.code == 0) {
+						this.$t.message.toast('鍛煎彨鎴愬姛');
+						this.sourceAddress = "";
+						this.targetAddress="";
+							// this.$refs.popup.close();
+						// this.submit();
+					} else {
+						this.$t.message.toast(res.message);
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: err.message,
+						type: "error"
+					})
+				})
+			},
+
+			inputChangebarcode() {
+				this.addressFocus = false;
+				this.$nextTick(function(x) {
+					if (this.sourceAddress != '') {
+						this.addressFocus = true;
+					}
+				})
+			},
+		}
+	}
+</script>
+<style lang="scss">
+	@import '@/common/uni-ui.scss';
+
+	.content {
+		display: flex;
+		height: 150px;
+	}
+
+	.content-text {
+		font-size: 14px;
+		color: #666;
+	}
+
+	.itemstyle {
+		margin-top: 30px;
+		margin-left: 5%;
+	}
+
+	.headerstyle {
+		width: 90%;
+	}
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\350\276\223\351\200\201\347\272\277\345\233\236\346\265\201.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\251\272\346\211\230\345\233\236\346\265\201.vue"
similarity index 70%
rename from "\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\350\276\223\351\200\201\347\272\277\345\233\236\346\265\201.vue"
rename to "\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\251\272\346\211\230\345\233\236\346\265\201.vue"
index 34f3873..814b56a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\350\276\223\351\200\201\347\272\277\345\233\236\346\265\201.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_PDA/pages/\345\217\253\346\226\231/\347\251\272\346\211\230\345\233\236\346\265\201.vue"
@@ -6,22 +6,14 @@
 			<view v-if="current === 0" class="headerstyle">
 				<view class="itemstyle">
 					<uni-forms label-width="120">
-						<uni-forms-item label="璧风偣鍦板潃">
-							<!-- <uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress"
-								placeholder="璇锋壂鐬勮捣鐐瑰湴鍧�" ref='midInput' @input="inputChangebarcode" /> -->
-							<uni-data-select v-model="value" :localdata="rangs"></uni-data-select>
+						<uni-forms-item label="璧风偣缂撳瓨鏋跺湴鍧�">
+							<uni-easyinput type="text" :focus="!addressFocus" v-model="sourceAddress"
+								placeholder="璇锋壂鐬勮捣鐐瑰湴鍧�" ref='midInput' @input="inputChangebarcode" />
+							<!-- <uni-data-select v-model="value" :localdata="rangs"></uni-data-select> -->
 						</uni-forms-item>
-						<uni-forms-item label="缁堢偣鍦板潃">
+						<uni-forms-item label="缁堢偣杈撻�佺嚎鍦板潃">
 							<uni-easyinput type="text" :focus="!addressFocus" v-model="targetAddress"
 								placeholder="璇锋壂鎻忕粓鐐瑰湴鍧�" ref='midInput' @input="inputChangebarcode" />
-						</uni-forms-item>
-						<uni-forms-item label="绗竴鎵樼洏鏉$爜">
-							<uni-easyinput type="text" :focus="!addressFocus" v-model="pallcode" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�"
-								ref='midInput' @input="inputChangebarcode" />
-						</uni-forms-item>
-						<uni-forms-item label="绗簩鎵樼洏鏉$爜">
-							<uni-easyinput type="text" :focus="!addressFocus" v-model="pallcode1" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�"
-								ref='midInput' @input="inputChangebarcode" />
 						</uni-forms-item>
 						<uni-forms-item>
 							<button @click="inbound" type="primary" size="default"
@@ -54,8 +46,6 @@
 				addressFocus: false,
 				targetAddress: "",
 				sourceAddress: "",
-				pallcode: "",
-				pallcode1: "",
 				Exception: "",
 				address: "",
 				check: true,
@@ -64,15 +54,6 @@
 				value2: "",
 				matTotals: [],
 				value: 0,
-				rangs: [{
-						value: "FJXL-KPHLX001",
-						text: "FJXL-KPHLX001"
-					},
-					{
-						value: "ZJXL-KPHLX001",
-						text: "ZJXL-KPHLX001"
-					},
-				],
 				// range: [],
 			}
 		},
@@ -136,13 +117,9 @@
 			},
 			inbound() {
 				// 鎻愬彇杈撳叆妗嗙殑鍊�
-				const sourceAddress = this.value;
+				const sourceAddress = this.sourceAddress;
 				const targetAddress = this.targetAddress;
-				// 鎻愬彇宸ュ崟缂栧彿
-				const pallcode =this.pallcode;
-				// 鎻愬彇鍨嬪彿
-				const pallcode1 = this.pallcode1;
-				
+
 				if (sourceAddress == "") {
 					this.$t.message.toast('璇烽�夋嫨璧风偣浣嶇疆');
 					return;
@@ -151,36 +128,25 @@
 					this.$t.message.toast('璇锋壂鐬勭粓鐐逛綅缃�');
 					return;
 				}
-				// if (pallcode == "") {
-				// 	this.$t.message.toast('璇锋壂鎻忕涓�鎷栫洏鏉$爜');
-				// 	return;
-				// }
-				// if (pallcode1 == "") {
-				// 	this.$t.message.toast('璇锋壂鎻忕浜屾嫋鐩樻潯鐮�');
-				// 	return;
-				// }
 				var postData = {
 					MainData: {
-						"sourceAddress": this.value,
+						"sourceAddress": this.sourceAddress,
 						"targetAddress": this.targetAddress,
-						"Exception": this.pallcode + "," + this.pallcode1
 					}
 				}
 				// console.log(Exception);
 				this.$u.post('/api/PDA/EmptyTask', postData).then(res => {
-				this.$t.message.closeLoading();
-				console.log(postData);
-				if (res.code == 200) {
-					this.$t.message.toast('鍛煎彨鎴愬姛');
-					this.value="",
-					this.targetAddress="",
-					this.pallcode="",
-					this.pallcode1="",
-					this.$refs.popup.close();
-					// this.submit();
-				} else {
-					this.$t.message.toast(res.message);
-				}
+					this.$t.message.closeLoading();
+					console.log(postData);
+					if (res.code == 0) {
+						this.$t.message.toast('鍛煎彨鎴愬姛');
+						this.sourceAddress = "";
+							this.targetAddress = "";
+							// this.$refs.popup.close();
+						// this.submit();
+					} else {
+						this.$t.message.toast(res.message);
+					}
 				}).catch(err => {
 					this.$refs.uToast.show({
 						title: err.message,
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/LocationEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/LocationEnum.cs"
new file mode 100644
index 0000000..0d23ff3
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Core/Enums/LocationEnum.cs"
@@ -0,0 +1,48 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Core.Enums
+{
+    /// <summary>
+    /// 璐т綅鐘舵��
+    /// </summary>
+    public enum LocationStatusEnum
+    {
+        /// <summary>
+        /// 绌洪棽
+        /// </summary>
+        [Description("绌洪棽")]
+        Free = 0,
+
+        /// <summary>
+        /// 閿佸畾
+        /// </summary>
+        [Description("閿佸畾")]
+        Lock = 1,
+
+        /// <summary>
+        /// 鏈夎揣
+        /// </summary>
+        [Description("鏈夎揣")]
+        InStock = 2,
+    }
+    public enum EnableStatusEnum
+    {
+        /// <summary>
+        /// 姝e父
+        /// </summary>
+        [Description("姝e父")]
+        Normal = 0,
+
+        /// <summary>
+        /// 绂佺敤
+        /// </summary>
+        [Description("绂佺敤")]
+        Disable = 1
+    }
+
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/IDt_StationinfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/IDt_StationinfoRepository.cs"
new file mode 100644
index 0000000..8af164d
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/IDt_StationinfoRepository.cs"
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_ISystemRepository
+{
+    public interface IDt_StationinfoRepository : IRepository<Dt_Stationinfo>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/IDt_StationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/IDt_StationinfoService.cs"
new file mode 100644
index 0000000..7be8ec8
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/IDt_StationinfoService.cs"
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_ISystemServices
+{
+    public interface IDt_StationinfoService : IService<Dt_Stationinfo>
+    {
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs"
index b80d4c2..e825057 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskCZService.cs"
@@ -43,11 +43,24 @@
         /// <returns></returns>
         public Task<WebResponseContent> FinishTask(CZTaskFinshDto dto);
         /// <summary>
-        /// 杈撻�佺嚎鍥炴祦
+        /// 绌烘墭鍥炴祦
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
         public Task<WebResponseContent> EmptyTask(SaveModel saveModel);
-        
+        /// <summary>
+        /// 鐑樼儰鍑烘枡
+        /// </summary>
+        /// <param name="OutBoundTask"></param>
+        /// <returns></returns>
+        public Task<WebResponseContent> OutBoundTask(string sourceAddress);
+
+        /// <summary>
+        /// 鐑樼儰鍥炵倝
+        /// </summary>
+        /// <param name="OutBoundTask"></param>
+        /// <returns></returns>
+        public Task<WebResponseContent> OutBoundTasks(SaveModel saveModel);
+
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/System/Dt_Stationinfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/System/Dt_Stationinfo.cs"
new file mode 100644
index 0000000..ca842e8
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/System/Dt_Stationinfo.cs"
@@ -0,0 +1,81 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Magicodes.ExporterAndImporter.Core;
+using SqlSugar;
+using WIDESEAWCS_Core.DB.Models;
+using WIDESEAWCS_Core.Tenants;
+
+namespace WIDESEAWCS_Model.Models
+{
+    [SugarTable("Dt_Stationinfo", "绔欑偣淇℃伅"), MultiTenant]
+    public class Dt_Stationinfo : BaseEntity
+    {
+        /// <summary>
+        /// 涓婚敭
+        /// </summary>
+        [ImporterHeader(Name = "涓婚敭")]
+        [ExporterHeader(DisplayName = "涓婚敭")]
+        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
+        public int id { get; set; }
+        /// <summary>
+        /// 缂撳瓨鏋剁紪鍙�
+        /// </summary>
+        [ImporterHeader(Name = "缂撳瓨鏋剁紪鍙�")]
+        [ExporterHeader(DisplayName = "缂撳瓨鏋剁紪鍙�")]
+        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "缂撳瓨鏋剁紪鍙�")]
+        public string StationCode { get; set; }
+        /// <summary>
+        /// 缂撳瓨鏋剁姸鎬�
+        /// </summary>
+        [ImporterHeader(Name = "缂撳瓨鏋剁姸鎬�")]
+        [ExporterHeader(DisplayName = "缂撳瓨鏋剁姸鎬�")]
+        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "缂撳瓨鏋剁姸鎬�")]
+        public int Location_state { get; set; }
+        /// <summary>
+        /// 鍖哄煙
+        /// </summary>
+        [ImporterHeader(Name = "鍖哄煙")]
+        [ExporterHeader(DisplayName = "鍖哄煙")]
+        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "鍖哄煙")]
+        public string Area { get; set; }
+
+        /// <summary>
+        /// 鏄惁鍚敤
+        /// </summary>
+        public bool Enable { get; set; }
+        /// <summary>
+        /// 鏈�鍚庢斁鍏ユ垨鍙栬蛋鏃堕棿
+        /// </summary>
+        [ImporterHeader(Name = "鏈�鍚庢斁鍏ユ垨鍙栬蛋鏃堕棿")]
+        [ExporterHeader(DisplayName = "鏈�鍚庢斁鍏ユ垨鍙栬蛋鏃堕棿")]
+        [SugarColumn(IsNullable = true, ColumnDescription = "鏈�鍚庢斁鍏ユ垨鍙栬蛋鏃堕棿")]
+        public DateTime? LastUpdateTime { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [ImporterHeader(Name = "澶囨敞")]
+        [ExporterHeader(DisplayName = "澶囨敞")]
+        [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")]
+        public string Remark { get; set; }
+        /// <summary>
+        /// 鍒涘缓鑰�
+        /// </summary>
+        [ImporterHeader(IsIgnore = true)]
+        [ExporterHeader(DisplayName = "鍒涘缓鑰�")]
+        [SugarColumn(IsNullable = false, Length = 50, IsOnlyIgnoreUpdate = true, ColumnDescription = "鍒涘缓鑰�")]
+        public string Creater { get; set; }
+
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        [ImporterHeader(IsIgnore = true)]
+        [ExporterHeader(DisplayName = "鍒涘缓鏃堕棿")]
+        [SugarColumn(IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "鍒涘缓鏃堕棿")]
+        public DateTime CreateDate { get; set; } = DateTime.Now;
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
index 7e6581f..ff5666d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs"
@@ -49,5 +49,16 @@
         {
             return _taskCZService.EmptyTask(saveModel);
         }
+        [HttpPost, Route("OutBoundTask"), AllowAnonymous]
+        public Task<WebResponseContent> OutBoundTask([FromBody] string sourceAddress)
+        {
+            return _taskCZService.OutBoundTask(sourceAddress);
+        }
+
+        [HttpPost, Route("OutBoundTasks"), AllowAnonymous]
+        public Task<WebResponseContent> OutBoundTasks([FromBody] SaveModel saveModel)
+        {
+            return _taskCZService.OutBoundTasks(saveModel);
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Dt_StationinfoController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Dt_StationinfoController.cs"
new file mode 100644
index 0000000..d5451b9
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Dt_StationinfoController.cs"
@@ -0,0 +1,17 @@
+锘縰sing Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using WIDESEAWCS_Core.BaseController;
+using WIDESEAWCS_ISystemServices;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_Server.Controllers.System
+{
+    [Route("api/Dt_Stationinfo")]
+    [ApiController]
+    public class Dt_StationinfoController : ApiBaseController<IDt_StationinfoService, Dt_Stationinfo>
+    {
+        public Dt_StationinfoController(IDt_StationinfoService service) : base(service)
+        {
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Dt_StationinfoRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Dt_StationinfoRepository.cs"
new file mode 100644
index 0000000..aa5c0ea
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Dt_StationinfoRepository.cs"
@@ -0,0 +1,18 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_ISystemRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_SystemRepository
+{
+    public class Dt_StationinfoRepository : RepositoryBase<Dt_Stationinfo>, IDt_StationinfoRepository
+    {
+        public Dt_StationinfoRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
+        {
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Dt_StationinfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Dt_StationinfoService.cs"
new file mode 100644
index 0000000..0c7e906
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Dt_StationinfoService.cs"
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_ISystemRepository;
+using WIDESEAWCS_ISystemServices;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_SystemServices
+{
+    public class Dt_StationinfoService : ServiceBase<Dt_Stationinfo, IDt_StationinfoRepository>, IDt_StationinfoService
+    {
+        public Dt_StationinfoService(IDt_StationinfoRepository BaseDal) : base(BaseDal)
+        {
+        }
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs"
index ea6bac0..b0f3247 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs"
@@ -26,18 +26,26 @@
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
-
+using WIDESEAWCS_ISystemServices;
+using WIDESEAWCS_ISystemRepository;
+using WIDESEA_Common;
+using WIDESEA_Core.Enums;
+using SqlSugar.Extensions;
 namespace WIDESEAWCS_TaskInfoService
 {
     public class TaskCZService : ServiceBase<DtCZTask, ITaskCZRepository>, ITaskCZService
     {
         private readonly ITaskRepository _taskRepository;
+        private readonly ITaskService _taskService;
         private readonly ITaskCZDetailsRepository _detailsRepository;
+        private readonly IDt_StationinfoRepository _stationinfoRepository;
 
-        public TaskCZService(ITaskCZRepository BaseDal, ITaskRepository taskRepository, ITaskCZDetailsRepository detailsRepository) : base(BaseDal)
+        public TaskCZService(ITaskCZRepository BaseDal, IDt_StationinfoRepository stationinfoRepository, ITaskService taskService, ITaskRepository taskRepository, ITaskCZDetailsRepository detailsRepository) : base(BaseDal)
         {
             _taskRepository = taskRepository;
             _detailsRepository = detailsRepository;
+            _taskService = taskService;
+            _stationinfoRepository = stationinfoRepository;
         }
 
         public Task<WebResponseContent> AddTaskCZAsync(CZTaskDto dto)
@@ -165,7 +173,7 @@
         }
 
         /// <summary>
-        /// 杈撻�佺嚎鍥炴祦
+        /// 绌烘墭鍥炴祦
         /// </summary>
         /// <param name="saveModel"></param>
         /// <returns></returns>
@@ -174,23 +182,196 @@
             WebResponseContent webResponseContent = new WebResponseContent();
             try
             {
+                //閫氳繃绔欑偣琛ㄥ垽鏂紦瀛樻灦鏄偅涓尯鍩熷幓閭f潯杈撻�佺嚎鍥炴祦鍙c�傘�傘�傘�傘�傘�傘�傘�傘�傘�傘��
                 string Saddress = saveModel.MainData["sourceAddress"].ToString();
                 string Taddress = saveModel.MainData["targetAddress"].ToString();
-                string Exception = saveModel.MainData["Exception"].ToString();
-                Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == Saddress && x.TaskState == (int)TaskInStatusEnum.InPending && x.TargetAddress == "WaitBind");
-                if (task == null)
+                Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == Saddress);
+                if (task != null)
                 {
-                    webResponseContent.Error("浠诲姟涓嶅瓨鍦紒");
+                    webResponseContent.Error("姝ょ紦瀛樻灦宸插瓨鍦ㄤ换鍔★紒");
                     return Task.FromResult(webResponseContent);
                 }
-                task.TargetAddress = Taddress;
-                task.ExceptionMessage = Exception;
-                task.TaskState = (int)TaskInStatusEnum.InNew;
-                var isTrue = _taskRepository.UpdateData(task);
-                if (isTrue)
+                Dt_Stationinfo Stationinfo = _stationinfoRepository.QueryFirst(x => x.StationCode == Saddress);
+
+                Dt_Task dt_Task = new Dt_Task();
+                dt_Task.TaskNum = _taskService.GetTaskNum();
+                dt_Task.CreateDate = DateTime.Now;
+                dt_Task.Creater = "system";
+                dt_Task.CurrentAddress = Saddress;
+                dt_Task.SourceAddress = Saddress;
+                dt_Task.TaskState = (int)TaskInStatusEnum.InNew;
+                dt_Task.TaskType = (int)TaskOutboundTypeEnum.Outbound;
+                dt_Task.Grade = 1;
+                dt_Task.PalletCode = "";
+                if (Stationinfo.Area == "姝f瀬")
                 {
-                    webResponseContent.OK("浠诲姟涓嬪彂鎴愬姛锛�");
+                    dt_Task.TargetAddress = "姝f瀬鍥炴祦杈撻�佺嚎鍏ュ彛";
                 }
+                else
+                {
+                    dt_Task.TargetAddress = "璐熸瀬鍥炴祦杈撻�佺嚎鍏ュ彛";
+                }
+                dt_Task.NextAddress = dt_Task.TargetAddress;
+                dt_Task.Barcode = "";
+                dt_Task.Roadway = "AGV";
+                dt_Task.WMSId = 0;
+                dt_Task.Remark = "绌烘墭鍥炴祦";
+
+                Dt_Task dt_Tasks = new Dt_Task();
+                dt_Tasks.TaskNum = _taskService.GetTaskNum();
+                dt_Tasks.CreateDate = DateTime.Now;
+                dt_Tasks.Creater = "system";
+                if (Stationinfo.Area == "姝f瀬")
+                {
+                    dt_Task.CurrentAddress = "姝f瀬鍥炴祦杈撻�佺嚎鍑哄彛";
+                }
+                else
+                {
+                    dt_Task.CurrentAddress = "璐熸瀬鍥炴祦杈撻�佺嚎鍑哄彛";
+                }
+                dt_Tasks.SourceAddress = dt_Task.CurrentAddress;
+                dt_Tasks.TaskState = (int)TaskInStatusEnum.InPending;
+                dt_Tasks.TaskType = (int)TaskOutboundTypeEnum.Outbound;
+                dt_Tasks.Grade = 1;
+                dt_Tasks.PalletCode = "";
+                dt_Tasks.TargetAddress = Taddress;
+                dt_Tasks.NextAddress = Taddress;
+                dt_Tasks.Barcode = "";
+                dt_Tasks.Roadway = "AGV";
+                dt_Tasks.WMSId = 0;
+                dt_Tasks.Remark = "绌烘墭鍥炴祦";
+
+                var isTrue = _taskRepository.AddData(dt_Task);
+                var isTrue1 = _taskRepository.AddData(dt_Tasks);
+                webResponseContent.OK("浠诲姟涓嬪彂鎴愬姛锛�");
+            }
+            catch (Exception ex)
+            {
+                webResponseContent.Error(ex.Message);
+            }
+            return Task.FromResult(webResponseContent);
+        }
+        /// <summary>
+        /// 鐑樼儰鍑烘枡
+        /// </summary>
+        /// <param name="sourceAddress"></param>
+        /// <returns></returns>
+        public Task<WebResponseContent> OutBoundTask(string sourceAddress)
+        {
+            WebResponseContent webResponseContent = new WebResponseContent();
+            try
+            {
+                Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == sourceAddress);
+                if (task != null)
+                {
+                    webResponseContent.Error("璧风偣宸插瓨鍦ㄤ换鍔★紒");
+                    return Task.FromResult(webResponseContent);
+                }
+                Dt_Stationinfo stationinfo = _stationinfoRepository.QueryFirst(x => x.Location_state == LocationStatusEnum.Free.ObjToInt());
+                if (stationinfo == null)
+                {
+                    webResponseContent.Error("鏈壘鍒扮┖缂撳瓨鏋舵斁缃紒");
+                    return Task.FromResult(webResponseContent);
+                }
+                Dt_Task tasks = _taskRepository.QueryFirst(x => x.SourceAddress == stationinfo.StationCode || x.TargetAddress == stationinfo.StationCode);
+                if (tasks != null)
+                {
+                    webResponseContent.Error("鏈壘鍒板彲鐢ㄧ紦瀛樻灦");
+                    return Task.FromResult(webResponseContent);
+                }
+                Dt_Task dt_Task = new Dt_Task()
+                {
+                    TaskNum = _taskService.GetTaskNum(),
+                    CreateDate = DateTime.Now,
+                    Creater = "system",
+                    CurrentAddress = sourceAddress,
+                    SourceAddress = sourceAddress,
+                    TaskState = (int)TaskInStatusEnum.InNew,
+                    TaskType = (int)TaskOutboundTypeEnum.Outbound,
+                    Grade = 1,
+                    PalletCode = "",
+                    TargetAddress = stationinfo.StationCode,
+                    NextAddress = stationinfo.StationCode,
+                    Barcode = "",
+                    Roadway = "AGV",
+                    WMSId = 0,
+                    Remark = "绌烘墭鍥炴祦"
+                };
+                var isTrue = _taskRepository.AddData(dt_Task);
+                webResponseContent.OK("浠诲姟涓嬪彂鎴愬姛锛�");
+            }
+            catch (Exception ex)
+            {
+                webResponseContent.Error(ex.Message);
+            }
+            return Task.FromResult(webResponseContent);
+        }
+        /// <summary>
+        /// 鐑樼儰鍥炵倝
+        /// </summary>
+        /// <param name="saveModel"></param>
+        /// <returns></returns>
+        public Task<WebResponseContent> OutBoundTasks(SaveModel saveModel)
+        {
+            WebResponseContent webResponseContent = new WebResponseContent();
+            try
+            {
+                //閫氳繃绔欑偣琛ㄥ垽鏂紦瀛樻灦鏄偅涓尯鍩熷幓閭f潯杈撻�佺嚎鍥炴祦鍙c�傘�傘�傘�傘�傘�傘�傘�傘�傘�傘��
+                string Saddress = saveModel.MainData["sourceAddress"].ToString();
+                string Taddress = saveModel.MainData["targetAddress"].ToString();
+
+                Dt_Stationinfo Stationinfo = _stationinfoRepository.QueryFirst(x => x.StationCode == Saddress);
+
+                Dt_Task dt_Task = new Dt_Task();
+                dt_Task.TaskNum = _taskService.GetTaskNum();
+                dt_Task.CreateDate = DateTime.Now;
+                dt_Task.Creater = "system";
+                dt_Task.CurrentAddress = Saddress;
+                dt_Task.SourceAddress = Saddress;
+                dt_Task.TaskState = (int)TaskInStatusEnum.InNew;
+                dt_Task.TaskType = (int)TaskOutboundTypeEnum.Outbound;
+                dt_Task.Grade = 1;
+                dt_Task.PalletCode = "";
+                if (Stationinfo.Area == "姝f瀬")
+                {
+                    dt_Task.TargetAddress = "姝f瀬鍥炴祦杈撻�佺嚎鍏ュ彛";
+                }
+                else
+                {
+                    dt_Task.TargetAddress = "璐熸瀬鍥炴祦杈撻�佺嚎鍏ュ彛";
+                }
+                dt_Task.NextAddress = dt_Task.TargetAddress;
+                dt_Task.Barcode = "";
+                dt_Task.Roadway = "AGV";
+                dt_Task.WMSId = 0;
+                dt_Task.Remark = "鐑樼儰鍥炵倝";
+
+                Dt_Task dt_Tasks = new Dt_Task();
+                dt_Tasks.TaskNum = _taskService.GetTaskNum();
+                dt_Tasks.CreateDate = DateTime.Now;
+                dt_Tasks.Creater = "system";
+                if (Stationinfo.Area == "姝f瀬")
+                {
+                    dt_Task.CurrentAddress = "姝f瀬鍥炴祦杈撻�佺嚎鍑哄彛";
+                }
+                else
+                {
+                    dt_Task.CurrentAddress = "璐熸瀬鍥炴祦杈撻�佺嚎鍑哄彛";
+                }
+                dt_Tasks.SourceAddress = dt_Task.CurrentAddress;
+                dt_Tasks.TaskState = (int)TaskInStatusEnum.InPending;
+                dt_Tasks.TaskType = (int)TaskOutboundTypeEnum.Outbound;
+                dt_Tasks.Grade = 1;
+                dt_Tasks.PalletCode = "";
+                dt_Tasks.TargetAddress = Taddress;
+                dt_Tasks.NextAddress = Taddress;
+                dt_Tasks.Barcode = "";
+                dt_Tasks.Roadway = "AGV";
+                dt_Tasks.WMSId = 0;
+                dt_Tasks.Remark = "鐑樼儰鍥炵倝";
+                var isTrue = _taskRepository.AddData(dt_Task);
+                var isTrue1 = _taskRepository.AddData(dt_Tasks);
+                webResponseContent.OK("浠诲姟涓嬪彂鎴愬姛锛�");
             }
             catch (Exception ex)
             {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj"
index f1fe745..37fa1d4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj"
@@ -8,6 +8,7 @@
 
 	<ItemGroup>
 		<ProjectReference Include="..\WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj" />
+		<ProjectReference Include="..\WIDESEAWCS_ISystemServices\WIDESEAWCS_ISystemServices.csproj" />
 		<ProjectReference Include="..\WIDESEAWCS_ITaskInfoService\WIDESEAWCS_ITaskInfoService.csproj" />
 	</ItemGroup>
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/CommonAGVJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/CommonAGVJob.cs"
index 316b9fa..6673757 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/CommonAGVJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/CommonAGVJob.cs"
@@ -26,8 +26,9 @@
         public Task Execute(IJobExecutionContext context)
         {
             AGV agv = (AGV)context.JobDetail.JobDataMap.Get("JobParams");
-            SendTaskAGV.SendAGVTask(agv, _taskRepository);
-            UpdateTaskAGV.UpdateTask(agv, _taskRepository, _taskCZRepository, _detailsRepository);
+            //SendTaskAGV.SendAGVTask1(_taskRepository);
+            //SendTaskAGV.SendAGVTask(agv, _taskRepository);
+            //UpdateTaskAGV.UpdateTask(agv, _taskRepository, _taskCZRepository, _detailsRepository);
             return Task.CompletedTask;
         }
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/SendTaskAGV.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/SendTaskAGV.cs"
index ffe6c58..4814dca 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/SendTaskAGV.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/SendTaskAGV.cs"
@@ -1,5 +1,6 @@
 锘縰sing System.Diagnostics;
 using System.Text;
+using Microsoft.Data.SqlClient;
 using WIDESEAWCS_Common.AGVEnum;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_ITaskInfoRepository;
@@ -14,157 +15,46 @@
         private static bool isTrue1 = false;
         private static string name1 = "";
 
-        public static void SendAGVTask1(AGV agv, ITaskRepository _taskRepository)
+        public static void SendAGVTask1(ITaskRepository _taskRepository)
         {
-            //TODO: Implement sending task to AGV
-            try
-            {
-                if (agv == null)
-                {
-                    return;
-                }
 
-                var taskInteractiveR = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.taskInteractiveR.ToString()).FirstOrDefault().DeviceProAddress;
-                var taskInteractiveW = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.taskInteractiveW.ToString()).FirstOrDefault().DeviceProAddress;
-                var resetTaskW = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.resetTaskInteractiveW.ToString()).FirstOrDefault().DeviceProAddress;
-                var resetTaskInteractiveR = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.resetTaskInteractiveR.ToString()).FirstOrDefault().DeviceProAddress;
-                var taskID = agv.DeviceProDTOs.Where(r => r.DeviceProParamName == TaskDBName.taskID.ToString()).FirstOrDefault().DeviceProAddress;
+            // 杩炴帴瀛楃涓� - 鏍规嵁浣犵殑鏈嶅姟鍣ㄤ俊鎭慨鏀�
+            string connectionString = "Data Source=.;Initial Catalog=WIDESEAWCS_GanFengLiYeNew;User ID=sa;Password=sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
+            List<Dt_Task> dt_Tasks = _taskRepository.QueryData(x => x.TaskState == (int)TaskInStatusEnum.InNew);
+            foreach (Dt_Task task in dt_Tasks)
+            {
+                // 瑕佹彃鍏ョ殑SQL璇彞
+                string insertSql = "INSERT INTO Dt_Stationinfo (StationCode, Location_state,Area,Enable,LastUpdateTime,Remark) VALUES (@StationCode, @Location_state,@Area,@Enable,@LastUpdateTime,@Remark)";
 
-                int TaskInteractive = agv.Communicator.Read<int>(taskInteractiveR);//1鏀跺埌
-                int TaskInteractiveW = agv.Communicator.Read<int>(taskInteractiveW);//0鍒濆/1涓嬪彂/2鍙栨秷/3鏇存敼
-                int resetTaskInteractiveW = agv.Communicator.Read<int>(resetTaskW);
-                int resetTaskInteractiver = agv.Communicator.Read<int>(resetTaskInteractiveR);
-                if (isTrue1 && name1 == agv.DeviceName)
+                try
                 {
-                    if (TaskInteractiveW != 0 || resetTaskInteractiveW != 0 || TaskInteractive != 0)
+                    using (SqlConnection connection = new SqlConnection(connectionString))
                     {
-                        agv.Communicator.Write(resetTaskW, 1);
-                        Task.Delay(2000).Wait();
-                        resetTaskInteractiveW = agv.Communicator.Read<int>(resetTaskW);
-                        if (resetTaskInteractiveW == 1)
+                        connection.Open(); 
+
+                        using (SqlCommand command = new SqlCommand(insertSql, connection))
                         {
-                            agv.Communicator.Write(resetTaskW, 0);
-                            agv.Communicator.Write(taskInteractiveW, 0);
-                            Task.Delay(2000).Wait();
-                        }
-                        return;
-                    }
-                    else
-                    {
-                        isTrue1 = false;
-                        name1 = "";
-                    }
-                }
-                if (resetTaskInteractiver == 1)
-                {
-                    agv.Communicator.Write(taskInteractiveW, 0);
-                    for (int i = 0; i < 5; i++)
-                    {
-                        Thread.Sleep(300);
-                        var agvnumber = Convert.ToInt32(agv.Communicator.Read<int>(taskInteractiveW));
-                        if (agvnumber != 0)
-                        {
-                            agv.Communicator.Write(taskInteractiveW, 0);
-                        }
-                        else
-                        {
-                            break;
+                            // 娣诲姞鍙傛暟闃叉SQL娉ㄥ叆
+                            command.Parameters.AddWithValue("StationCode", task.TaskNum);
+                            command.Parameters.AddWithValue("Location_state", task.TaskNum);
+                            command.Parameters.AddWithValue("Area", task.Roadway);
+                            command.Parameters.AddWithValue("Enable", task.TaskNum);
+                            command.Parameters.AddWithValue("LastUpdateTime", DateTime.Now);
+                            command.Parameters.AddWithValue("Remark", task.Roadway);
+                            command.Parameters.AddWithValue("Creater", "WCS");
+                            command.Parameters.AddWithValue("CreateDate", DateTime.Now);
+
+                            int rowsAffected = command.ExecuteNonQuery();
+                            Console.WriteLine($"鎴愬姛鎻掑叆 {rowsAffected} 琛屾暟鎹�");
                         }
                     }
                 }
-                if (0 == TaskInteractive && TaskInteractiveW == 0)
+                catch (Exception ex)
                 {
-                    Dt_Task agvTask = _taskRepository.QueryData(r => r.TaskState == (int)TaskInStatusEnum.InNew && r.Roadway == agv.DeviceName && r.TaskType == (int)TaskOutboundTypeEnum.Outbound).OrderBy(r => r.CreateDate).OrderByDescending(r => r.Grade).FirstOrDefault();
-                    if (null != agvTask)
-                    {
-                        //鍐欏叆浠诲姟淇℃伅
-                        string rel = TaskWrite(agv, agvTask, AGVJobEnum.newTaskEnum);
-                        Thread.Sleep(1000);
-                        string taskId = agv.Communicator.Read<string>(taskID).ToString();
-                        if (taskId != agvTask.TaskNum.ToString())
-                        {
-                            isTrue1 = true;
-                            name1 = agv.DeviceName;
-                            //WriteLog.Info("SendAGVTask").Write("缁橝GV鍐欏叆浠诲姟澶辫触," + agvTask.agv_tasknum + DateTime.Now, "SendAGVTask");
-                            throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟澶辫触,浠诲姟鍙穥0}", agvTask.TaskNum));
-                        }
-                        if (string.IsNullOrEmpty(rel))
-                        {
-                            //鍐欏叆浠诲姟纭1
-                            agv.Communicator.Write(taskInteractiveW, 1);
-                            Thread.Sleep(1000);
-                            //璇诲彇AGV淇″彿
-                            int ReadTask_1_OK = agv.Communicator.Read<int>(taskInteractiveR);
-                            if (ReadTask_1_OK == 1)
-                            {
-                                //鍐欏叆WCS纭淇″彿0
-                                agv.Communicator.Write(taskInteractiveW, 0);
-                                Thread.Sleep(2000);
-                                //璇诲彇AGV淇″彿鏄惁涓�0
-                                int ReadTask_0_OK = agv.Communicator.Read<int>(taskInteractiveR);
-                                if (ReadTask_0_OK == 0)
-                                {
-                                    int nextStatus = agvTask.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
-                                    agvTask.TaskState = nextStatus;
-                                    agvTask.Dispatchertime = DateTime.Now;
-                                    _taskRepository.UpdateData(agvTask);
-                                    // 涓婁紶AGV杩愯鏁版嵁 by xiaoyang
-                                    //SendMESTask.SendMesTask(agvTask, 0);
-                                }
-                                else
-                                {
-                                    isTrue1 = true;
-                                    name1 = agv.DeviceName;
-                                    throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟纭0澶辫触,浠诲姟鍙穥0}", agvTask.TaskNum));
-                                }
-                            }
-                            else if (ReadTask_1_OK == 11)
-                            {
-                                agv.Communicator.Write(taskInteractiveW, 0);
-                                Thread.Sleep(2000);
-                                int ReadTask_0_Error = agv.Communicator.Read<int>(taskInteractiveR);
-                                if (ReadTask_0_Error == 0)
-                                {
-                                    int nextStatus = agvTask.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
-                                    agvTask.TaskState = nextStatus;
-                                    agvTask.Dispatchertime = DateTime.Now;
-                                    _taskRepository.UpdateData(agvTask);
-                                }
-                                else
-                                {
-                                    isTrue1 = true;
-                                    name1 = agv.DeviceName;
-                                    throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟寮傚父纭0澶辫触,浠诲姟鍙穥0}", agvTask.TaskNum));
-                                }
-                            }
-                            else
-                            {
-                                isTrue1 = true;
-                                name1 = agv.DeviceName;
-                                throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟纭1澶辫触,浠诲姟鍙穥0}", agvTask.TaskNum));
-                            }
-                        }
-                        else
-                        {
-                            isTrue1 = true;
-                            name1 = agv.DeviceName;
-                            throw new Exception(string.Format("缁橝GV鍐欏叆浠诲姟澶辫触,浠诲姟鍙穥0}" + rel, agvTask.TaskNum));
-                        }
-                    }
+                    Console.WriteLine($"鍙戠敓閿欒: {ex.Message}");
                 }
             }
-            catch (Exception ex)
-            {
-                StackTrace sta = new StackTrace(ex, true);
-                StackTrace st = new StackTrace(new StackFrame(true));
-                StackFrame sf = sta.GetFrame(0);
-                //WriteLog.Info("SendAGVTask").Write(ex.Message + "琛屽彿" + sf.GetFileLineNumber(), "SendAGVTask");
-            }
-            finally
-            {
-                // WriteLog.Info("SendAGVTask").Write(agv.PLCName+"\t"+DateTime.Now, "SendAGVTask");
-                Interlocked.Exchange(ref _readSendAGVTaskSignalso, 0);
-            }
+
         }
 
         public static void SendAGVTask(AGV agv, ITaskRepository _taskRepository)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 448e4f4..227329f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -55,7 +55,6 @@
         }
 
         public Task Execute(IJobExecutionContext context)
-
         {
             try
             {
@@ -81,7 +80,7 @@
                 };
 
                 // 澶勭悊瀹炵洏鍏ュ簱璇锋眰
-                ProcessRequests(conveyorLine, requests, "涓嬬嚎璇锋眰鍏ュ簱");
+                //ProcessRequests(conveyorLine, requests, "涓嬬嚎璇锋眰鍏ュ簱");
 
                 // 澶勭悊绌虹洏鍥炴祦璇锋眰
                 ProcessKpRequests(conveyorLine, requestsKP);
@@ -162,18 +161,22 @@
                 Dt_Task task = null;
                 if (isUpRequest)
                 {
-                    task = CreateTask(fromAdd, "WaitBind", "姝f瀬鐗╂祦绾�002鐨勪笂鏂欒姹�", "绌烘墭鐩�", taskType);
+                    List<Dt_Task> dt_Task = _taskRepository.QueryData(x => x.SourceAddress == fromAdd && x.TaskState == (int)TaskInStatusEnum.InPending);
+                    if (dt_Task.Count < 0) { continue; }
+                    var tasks = dt_Task.Where(x => x.SourceAddress == fromAdd).OrderBy(t => t.CreateDate).First();
+                    tasks.TaskState = (int)TaskInStatusEnum.InNew;
+                    _taskService.UpdateData(tasks);
                 }
-                else if (isGMRequest && isGMState == 1)
-                {
-                    task = CreateTask(fromAdd, "WaitBind", "姝f瀬鐗╂祦绾�002鐨勪笂鏂欒姹�", "闅旇啘绌烘墭鐩�", taskType);
-                }
+                //else if (isGMRequest && isGMState == 1)
+                //{
+                //    task = CreateTask(fromAdd, "WaitBind", "姝f瀬鐗╂祦绾�002鐨勪笂鏂欒姹�", "闅旇啘绌烘墭鐩�", taskType);
+                //}
 
-                // 娣诲姞浠诲姟鍒颁换鍔¤〃
-                if (task != null)
-                {
-                    _taskRepository.AddData(task);
-                }
+                //// 娣诲姞浠诲姟鍒颁换鍔¤〃
+                //if (task != null)
+                //{
+                //    _taskRepository.AddData(task);
+                //}
             }
         }
 

--
Gitblit v1.9.3