From e3cfda747bd53f4550904d60cd13aa8f4e525739 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期一, 01 十二月 2025 18:52:17 +0800
Subject: [PATCH] 更新WMS接口等
---
项目代码/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskExecuteDetailService.cs | 2
项目代码/WCSServices/WIDESEAWCS_Tasks/二期线体/ConveyorLineDBName.cs | 8
项目资料/AGV通信文档/输送拣选和站台编号.xlsx | 0
项目代码/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs | 148 +++++++-
项目代码/WCSClient/src/views/taskinfo/task.vue | 69 +--
项目代码/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs | 5
项目资料/接口汇总文件/WMS接口对接文档_V1.1.3.docx | 0
项目资料/一期对接相关资料/一期Ip.png | 0
项目资料/一期对接相关资料/瑞意博部署接口文档.pdf | 0
项目代码/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 13
项目资料/一期对接相关资料/电子标签接口文档.pdf | 0
项目代码/WCSServices/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile4.pubxml | 17 +
项目代码/WCSServices/WIDESEAWCS_Tasks/AGV/AGVExtend.cs | 10
项目资料/AGV通信文档/WMS输送线对接协议251126.xls | 0
项目代码/WCSClient/package-lock.json | 174 +++++-----
项目代码/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs | 19 +
项目代码/WCSClient/src/api/http.js | 4
项目代码/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs | 16
项目代码/WCSClient/src/extension/basicinfo/locationInfo.js | 114 +++++++
项目代码/WCSClient/src/router/viewGird.js | 4
项目代码/WCSServices/WIDESEAWCS_Server/appsettings.json | 2
项目代码/WCSClient/src/views/taskinfo/task_hty.vue | 79 +---
项目资料/一期对接相关资料/哈尔滨一期输送线对接协议modbusTcp协议V1.1.xlsx | 0
项目代码/WCSClient/src/views/Home.vue | 7
项目代码/WCSServices/WIDESEAWCS_Tasks/二期线体/ConveyorLineJob2.cs | 47 ++
项目代码/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs | 6
项目代码/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs | 2
项目代码/WCSClient/src/views/basicinfo/locationInfo.vue | 191 +++++++++++
28 files changed, 685 insertions(+), 252 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/package-lock.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/package-lock.json"
index 15e9bc4..79b2868 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/package-lock.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/package-lock.json"
@@ -1278,11 +1278,6 @@
"fastq": "^1.6.0"
}
},
- "@popperjs/core": {
- "version": "npm:@sxzz/popperjs-es@2.11.7",
- "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
- "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
- },
"@soda/friendly-errors-webpack-plugin": {
"version": "1.8.0",
"resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927406873&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz",
@@ -1841,6 +1836,87 @@
"webpack-chain": "^6.4.0",
"webpack-dev-server": "^3.11.0",
"webpack-merge": "^4.2.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "optional": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "optional": true
+ },
+ "loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "vue-loader-v16": {
+ "version": "npm:vue-loader@16.8.3",
+ "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
+ "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "hash-sum": "^2.0.0",
+ "loader-utils": "^2.0.0"
+ }
+ }
}
},
"@vue/cli-shared-utils": {
@@ -4938,6 +5014,13 @@
"lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0"
+ },
+ "dependencies": {
+ "@popperjs/core": {
+ "version": "npm:@sxzz/popperjs-es@2.11.7",
+ "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
+ "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
+ }
}
},
"elliptic": {
@@ -12522,87 +12605,6 @@
"resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
"integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
"dev": true
- }
- }
- },
- "vue-loader-v16": {
- "version": "npm:vue-loader@16.8.3",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
- "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
- "dev": true,
- "optional": true,
- "requires": {
- "chalk": "^4.1.0",
- "hash-sum": "^2.0.0",
- "loader-utils": "^2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "optional": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "optional": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "optional": true
- },
- "loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "optional": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "optional": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
}
}
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/api/http.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/api/http.js"
index 8928488..2bf3bb2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/api/http.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/api/http.js"
@@ -12,8 +12,8 @@
let loadingInstance;
let loadingStatus = false;
if (process.env.NODE_ENV == 'development') {
- // axios.defaults.baseURL = 'http://127.0.0.1:9291/';
- axios.defaults.baseURL = 'http://192.168.35.3:9281/';
+ axios.defaults.baseURL = 'http://127.0.0.1:9291/';
+ //axios.defaults.baseURL = 'http://192.168.35.3:9281/';
}
else if (process.env.NODE_ENV == 'debug') {
axios.defaults.baseURL = 'http://127.0.0.1:8098/';
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/extension/basicinfo/locationInfo.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/extension/basicinfo/locationInfo.js"
new file mode 100644
index 0000000..3b380cd
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/extension/basicinfo/locationInfo.js"
@@ -0,0 +1,114 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+// import gridBody from './extend/GetLocationStatus.vue'
+let extension = {
+ components: {
+ //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+ gridHeader: '',
+ gridBody: '',
+ gridFooter: '',
+ //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+ modelHeader: '',
+ modelBody: '',
+ modelFooter: ''
+ },
+ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+ buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+ methods: {
+ //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+ onInit() {
+ let EnableBtn = this.buttons.find(x => x.value == 'Enable');
+ if (EnableBtn) {
+ EnableBtn.onClick = function () {
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+ var keys = rows.map(x => { return x.id });
+ this.http
+ .post("api/LocationInfo/LocationEnableStatus", keys, "鏁版嵁澶勭悊涓�")
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.refresh();
+ });
+ }
+ }
+ let DisableBtn = this.buttons.find(x => x.value == 'Disable');
+ if (DisableBtn) {
+ DisableBtn.onClick = function () {
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+ var keys = rows.map(x => { return x.id });
+ this.http
+ .post("api/LocationInfo/LocationDisableStatus", keys, "鏁版嵁澶勭悊涓�")
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.refresh();
+ });
+ }
+ }
+ this.columns.forEach(column => {
+ if (column.field == 'palletCode') {
+ column.formatter = (row) => {
+ //row.palletCode鍒ゆ柇鏄惁涓虹┖鎴杣ndefined
+ if (row.palletCode == "" || row.palletCode == undefined) {
+ return "鏃犳枡绠�";
+ }
+ return row.palletCode;
+ }
+ }
+ });
+
+ this.columns.push({
+ field: '鎿嶄綔',
+ title: '鎿嶄綔',
+ width: 90,
+ 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/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/router/viewGird.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/router/viewGird.js"
index 7814d0a..0469066 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/router/viewGird.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/router/viewGird.js"
@@ -65,6 +65,10 @@
path: '/packaxis',
name: 'packaxis',
component: () => import('@/views/PackInfo/packaxis.vue')
+ },{
+ path: '/locationInfo',
+ name: 'locationInfo',
+ component: () => import('@/views/basicinfo/locationInfo.vue')
}]
export default viewgird
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/Home.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/Home.vue"
index f834133..c6990e4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/Home.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/Home.vue"
@@ -1,6 +1,6 @@
<template>
<div class="title">
- <el-row :gutter="20" style="height:85%">
+ <!-- <el-row :gutter="20" style="height:85%">
<el-col :span="8">
<span style="position: relative; top: 100px;left: 30px;">
<h4>涓�妤艰澶囩洃鎺�</h4>
@@ -119,7 +119,6 @@
</el-col>
<el-col :span="8">
- <!-- 鍫嗗灈鏈� -->
<div style="position: relative; top: 50px;">
<div class="stackerDiv">
<div class="stackDivName">涓�鍙峰爢鍨涙満</div>
@@ -152,9 +151,7 @@
</div>
</div>
</el-col>
- </el-row>
-
-
+ </el-row> -->
</div>
</template>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/basicinfo/locationInfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/basicinfo/locationInfo.vue"
new file mode 100644
index 0000000..33c4e0a
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/basicinfo/locationInfo.vue"
@@ -0,0 +1,191 @@
+
+<template>
+ <view-grid
+ ref="grid"
+ :columns="columns"
+ :detail="detail"
+ :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions"
+ :searchFormFields="searchFormFields"
+ :searchFormOptions="searchFormOptions"
+ :table="table"
+ :extend="extend"
+ >
+ </view-grid>
+</template>
+ <script>
+import extend from "@/extension/basicinfo/locationInfo.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: "id",
+ footer: "Foots",
+ cnName: "璐т綅淇℃伅",
+ name: "locationInfo",
+ url: "/LocationInfo/",
+ sortName: "id",
+ });
+ const editFormFields = ref({
+ locationStatus: "",
+ });
+ const editFormOptions = ref([
+ [
+ { title: "璐т綅鐘舵��", field: "locationStatus" ,type: "select",dataKey: "locationStatusEnum",data: [],},
+ ],
+ ]);
+ const searchFormFields = ref({
+ locationCode: "",
+ roadwayNo: "",
+ locationType: "",
+ enableStatus: "",
+ locationStatus: "",
+ row: "",
+ columns: "",
+ layer: "",
+ });
+ const searchFormOptions = ref([
+ [
+ { title: "璐т綅缂栧彿", field: "locationCode", type: "like"},
+ { title: "鏂欑缂栧彿", field: "palletCode", type: "like"},
+ { title: "绂佺敤鐘舵��", field: "enableStatus" ,type: "select",dataKey: "",data: [{key: "0",value: "鍚敤"},{key: "3",value: "绂佺敤"}]},
+ { title: "璐т綅鐘舵��", field: "locationStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: []},
+ ],
+ [
+ { title: "琛�", field: "row" ,type: "int"},
+ { title: "鍒�", field: "columns" ,type: "int"},
+ { title: "灞�", field: "layer" ,type: "int"}
+ ],
+ ]);
+ const columns = ref([
+ {
+ field: "id",
+ title: "Id",
+ type: "int",
+ width: 100,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ // {
+ // field: "areaId",
+ // title: "鍖哄煙涓婚敭",
+ // type: "string",
+ // width: 90,
+ // align: "left",
+ // bind: {key: "areainfo",data: []}
+ // },
+ {
+ field: "locationCode",
+ title: "璐т綅缂栧彿",
+ type: "string",
+ width: 180,
+ align: "left",
+ },
+ {
+ field: "palletCode",
+ title: "鏂欑缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ bind: { key: "", data: []},
+ },
+ {
+ field: "locationName",
+ title: "璐т綅鍚嶇О",
+ type: "string",
+ width: 260,
+ align: "left",
+ },
+ {
+ field: "roadwayNo",
+ title: "宸烽亾缂栧彿",
+ type: "decimal",
+ width: 130,
+ align: "left",
+ bind: { key: "", data: [] },
+ },
+ {
+ field: "row",
+ title: "璐т綅琛�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "columns",
+ title: "璐т綅鍒�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "layer",
+ title: "璐т綅灞�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "locationStatus",
+ title: "璐т綅鐘舵��",
+ type: "string",
+ width: 120,
+ align: "left",
+ bind: { key: "", data: [{key: "0",value: "绌洪棽"},{key: "1",value: "閿佸畾"},{key: "100",value: "鏈夎揣"}] },
+ },
+ {
+ field: "enableStatus",
+ title: "绂佺敤鐘舵��",
+ type: "string",
+ width: 80,
+ align: "left",
+ bind: { key: "", data: [{key: "0",value: "鍚敤"},{key: "3",value: "绂佺敤"}] },
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ sort: true,
+ hidden: true,
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ sort: true,
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true
+ },
+ ]);
+ const detail = ref({
+ cnName: "#detailCnName",
+ table: "",
+ columns: [],
+ sortName: "",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
+
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/taskinfo/task.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/taskinfo/task.vue"
index 2e0156a..b0c8fd7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/taskinfo/task.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/taskinfo/task.vue"
@@ -51,9 +51,6 @@
dataKey: "taskType",
data: [],
},
- { title: "RFID缂栧彿", field: "rfidCode", type: "like" },
- ],
- [
{
title: "浠诲姟鐘舵��",
field: "taskState",
@@ -61,14 +58,14 @@
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: "nextAddress", type: "like" },
- { title: "宸烽亾鍙�", field: "roadway", type: "like", type: "select",dataKey: "Stacker",data: [],},
{ title: "鍒涘缓浜�", field: "creater", type: "like" },
{ title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
],
@@ -88,28 +85,21 @@
field: "taskNum",
title: "浠诲姟鍙�",
type: "int",
- width: 90,
+ width: 120,
align: "left",
},
{
field: "palletCode",
- title: "鎵樼洏缂栧彿",
+ title: "鏂欑缂栧彿",
type: "string",
- width: 200,
- align: "left",
- },
- {
- field: "rfidCode",
- title: "RFID缂栧彿",
- type: "string",
- width: 180,
+ width: 130,
align: "left",
},
{
field: "roadway",
title: "宸烽亾鍙�",
type: "string",
- width: 150,
+ width: 100,
align: "left",
bind: { key: "Stacker", data: [] },
},
@@ -117,7 +107,7 @@
field: "taskType",
title: "浠诲姟绫诲瀷",
type: "int",
- width: 130,
+ width: 100,
align: "left",
bind: { key: "taskType", data: [] },
},
@@ -133,27 +123,34 @@
field: "sourceAddress",
title: "璧峰鍦板潃",
type: "int",
- width: 120,
+ width: 150,
align: "left",
},
{
field: "targetAddress",
title: "鐩爣鍦板潃",
type: "string",
- width: 120,
+ width: 150,
align: "left",
},
{
field: "currentAddress",
title: "褰撳墠浣嶇疆",
type: "string",
- width: 120,
+ width: 150,
align: "left",
},
{
field: "nextAddress",
title: "涓嬩竴浣嶇疆",
type: "string",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "wmsId",
+ title: "WMS浠诲姟(涓婃父)",
+ type: "int",
width: 120,
align: "left",
},
@@ -161,7 +158,7 @@
field: "exceptionMessage",
title: "寮傚父淇℃伅",
type: "string",
- width: 90,
+ width: 100,
align: "left",
},
{
@@ -175,43 +172,21 @@
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,
+ width: 180,
align: "left",
},
{
field: "createDate",
title: "鍒涘缓鏃堕棿",
type: "datetime",
- width: 150,
- align: "left",
- },
- {
- field: "modifier",
- title: "淇敼浜�",
- type: "string",
- width: 100,
+ width: 180,
align: "left",
},
{
field: "modifyDate",
title: "淇敼鏃堕棿",
type: "datetime",
- width: 160,
+ width: 180,
align: "left",
},
{
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/taskinfo/task_hty.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/taskinfo/task_hty.vue"
index 8f3b95b..5705165 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/taskinfo/task_hty.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSClient/src/views/taskinfo/task_hty.vue"
@@ -50,29 +50,27 @@
dataKey: "taskType",
data: [],
},
- { title: "RFID缂栧彿", field: "rfidCode", type: "like" },
- ],
- [
{
title: "浠诲姟鐘舵��",
field: "taskState",
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: "nextAddress", type: "like" },
- { title: "宸烽亾鍙�", field: "roadway", type: "like", type: "select",dataKey: "Stacker",data: [],},
{ title: "鍒涘缓浜�", field: "creater", type: "like" },
{ title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
],
]);
const columns = ref([
- {
+ {
field: "taskId",
title: "TaskId",
type: "int",
@@ -86,28 +84,21 @@
field: "taskNum",
title: "浠诲姟鍙�",
type: "int",
- width: 90,
+ width: 120,
align: "left",
},
{
field: "palletCode",
- title: "鎵樼洏缂栧彿",
+ title: "鏂欑缂栧彿",
type: "string",
- width: 200,
- align: "left",
- },
- {
- field: "rfidCode",
- title: "RFID缂栧彿",
- type: "string",
- width: 180,
+ width: 130,
align: "left",
},
{
field: "roadway",
title: "宸烽亾鍙�",
type: "string",
- width: 150,
+ width: 100,
align: "left",
bind: { key: "Stacker", data: [] },
},
@@ -115,7 +106,7 @@
field: "taskType",
title: "浠诲姟绫诲瀷",
type: "int",
- width: 130,
+ width: 100,
align: "left",
bind: { key: "taskType", data: [] },
},
@@ -131,27 +122,34 @@
field: "sourceAddress",
title: "璧峰鍦板潃",
type: "int",
- width: 120,
+ width: 150,
align: "left",
},
{
field: "targetAddress",
title: "鐩爣鍦板潃",
type: "string",
- width: 120,
+ width: 150,
align: "left",
},
{
field: "currentAddress",
title: "褰撳墠浣嶇疆",
type: "string",
- width: 120,
+ width: 150,
align: "left",
},
{
field: "nextAddress",
title: "涓嬩竴浣嶇疆",
type: "string",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "wmsId",
+ title: "WMS浠诲姟(涓婃父)",
+ type: "int",
width: 120,
align: "left",
},
@@ -159,7 +157,7 @@
field: "exceptionMessage",
title: "寮傚父淇℃伅",
type: "string",
- width: 90,
+ width: 100,
align: "left",
},
{
@@ -173,50 +171,21 @@
field: "dispatchertime",
title: "浠诲姟涓嬪彂鏃堕棿",
type: "datetime",
- width: 150,
- align: "left",
- },
- {
- field: "wMSId",
- title: "WMS浠诲姟涓婚敭",
- type: "int",
- width: 120,
- align: "left",
- hidden: true,
- },{
- field: "operatetype",
- title: "鎿嶄綔绫诲瀷",
- type: "string",
- width: 90,
- align: "left",
- bind: { key: "OperateTypeEnum", data: [] },
- },
- {
- field: "creater",
- title: "鍒涘缓浜�",
- type: "string",
- width: 90,
+ width: 180,
align: "left",
},
{
field: "createDate",
title: "鍒涘缓鏃堕棿",
type: "datetime",
- width: 150,
- align: "left",
- },
- {
- field: "modifier",
- title: "淇敼浜�",
- type: "string",
- width: 100,
+ width: 180,
align: "left",
},
{
field: "modifyDate",
title: "淇敼鏃堕棿",
type: "datetime",
- width: 160,
+ width: 180,
align: "left",
},
{
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
index 26400db..dc10d82 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
@@ -99,6 +99,11 @@
[Description("浠诲姟瀹屾垚")]
COMPLETED,
/// <summary>
+ /// 绛夊緟鏀捐
+ /// </summary>
+ [Description("绛夊緟鏀捐")]
+ WAITFEEDBACK,
+ /// <summary>
/// 浠诲姟鍙栨秷瀹屾垚
/// </summary>
[Description("浠诲姟鍙栨秷瀹屾垚")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskExecuteDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskExecuteDetailService.cs"
index c2f8e3b..ae83152 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskExecuteDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskExecuteDetailService.cs"
@@ -28,7 +28,7 @@
{
public interface ITaskExecuteDetailService : IService<Dt_TaskExecuteDetail>
{
- void AddTaskExecuteDetail(int taskId, string description = "");
+ void AddTaskExecuteDetail(Dt_Task task, string description = "");
WebResponseContent GetDetailInfo(int taskNum);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index c295c50..c7c0852 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -58,7 +58,17 @@
/// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param>
/// <returns>杩斿洖澶勭悊缁撴灉</returns>
WebResponseContent ReceiveWMSTask([NotNull] WMSTaskDTO taskDTO);
-
+ /// <summary>
+ /// 瀹瑰櫒鍏ュ簱鍒涘缓浠诲姟
+ /// </summary>
+ /// <returns></returns>
+ WebResponseContent ContainerFlow(ContainerFlowDTO containerFlowDTO,string deviceCode);
+ /// <summary>
+ /// 鐢宠鍏ュ簱
+ /// </summary>
+ /// <returns></returns>
+ WebResponseContent RequestInTask(string stationCode, string barCode);
+
/// <summary>
/// 鏇存柊浠诲姟寮傚父淇℃伅鏄剧ず
/// </summary>
@@ -72,6 +82,7 @@
/// <param name="taskNum">浠诲姟鍙�</param>
/// <returns>杩斿洖澶勭悊缁撴灉</returns>
WebResponseContent TaskStatusRecovery(int taskNum);
+
/// <summary>
/// 鍥炴粴浠诲姟鐘舵��
/// </summary>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
index 53a6ca1..9dac38a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
@@ -6,6 +6,7 @@
using System.Text.RegularExpressions;
using WIDESEA_DTO.Agv;
using WIDESEA_External.Model;
+using WIDESEAWCS_Common;
using WIDESEAWCS_Common.APIEnum;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
@@ -54,17 +55,26 @@
WebResponseContent content = new WebResponseContent();
try
{
- var task = _taskRepository.QueryFirst(x => agvUpdateDTO.ContainerCode==x.PalletCode) ?? throw new Exception($"鏈壘鍒版枡绠便�恵agvUpdateDTO.ContainerCode}銆戜换鍔�");
+ var task = _taskRepository.QueryFirst(x => (agvUpdateDTO.ContainerCode ?? "")==x.PalletCode);
switch (agvUpdateDTO.MissionStatus)
{
case nameof(AGVStatusEnum.PICKER_RECEIVE):
+ if (task == null) throw new Exception($"鏈壘鍒版枡绠便�恵agvUpdateDTO.ContainerCode}銆戜换鍔�");
_taskService.UpdateTask(task, TaskStatusEnum.AGV_TakeFinish);
break;
case nameof(AGVStatusEnum.PICKER_SEND):
- //WebResponseContent responseContent = _taskService.AgvTaskFlow(task.PalletCode);
- //if (!responseContent.Status) throw new Exception($"{responseContent.Message}");
+ if (task == null) throw new Exception($"鏈壘鍒版枡绠便�恵agvUpdateDTO.ContainerCode}銆戜换鍔�");
_taskService.TaskCompleted(task.TaskNum);
break;
+ case nameof(AGVStatusEnum.WAITFEEDBACK):
+ //AGV鏀捐
+ List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x=>x.StationType==StationTypeEnum.StationType_OnlyInbound.ObjToInt());
+ if (!stationMangers.Select(x=>x.StationCode).Contains(agvUpdateDTO.CurrentPosition))
+ {
+ WebResponseContent responseContent = _taskService.AgvTaskFlow(agvUpdateDTO.MissionCode);
+ if (!responseContent.Status) throw new Exception($"{responseContent.Message}");
+ }
+ break;
default:
break;
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
index 77d542c..72a97af 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Controllers/Task/TaskController.cs"
@@ -72,8 +72,13 @@
return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇澶噞stationManger.StationDeviceCode}");
}
CommonConveyorLine commonConveyorLine = (CommonConveyorLine)device;
- string PickBarCode = commonConveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_PickBarCode, stationManger.StationCode).Replace("\0", "");
+ string PickBarCode = commonConveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_PickBarCode, stationManger.StationCode).Trim();
if (containerFlowDTO.ContainerCode!= PickBarCode) throw new Exception($"浼犲叆鏂欑鐮亄containerFlowDTO.ContainerCode}锛岃緭閫佹枡绠辩爜{PickBarCode}鏁版嵁閿欒");
+ if (containerFlowDTO.Direction=="100")
+ {
+ WebResponseContent responseContent = Service.ContainerFlow(containerFlowDTO, stationManger.StationDeviceCode);
+ if (!responseContent.Status) throw new Exception(responseContent.Message);
+ }
commonConveyorLine.SetValue(ConveyorLineDBName.W_PickToHode,(short)containerFlowDTO.Direction.ObjToInt(), stationManger.StationCode);
content.OK();
}
@@ -83,7 +88,15 @@
}
return content;
}
-
+ /// <summary>
+ /// 鐢宠鍏ュ簱
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("RequestInTask"), AllowAnonymous]
+ public WebResponseContent RequestInTask(string stationCode, string barCode)
+ {
+ return Service.RequestInTask(stationCode, barCode);
+ }
[HttpPost, HttpGet, Route("GetRouteEndPoint"), AllowAnonymous]
public WebResponseContent GetRouteEndPoint(string startPoint, int routeType)
{
@@ -97,7 +110,7 @@
[HttpPost, HttpGet, Route("RecWMSTaskCompleted"), AllowAnonymous]
public WebResponseContent RecWMSTaskCompleted(int taskNum)
{
- return Service.RecWMSTaskCompleted(taskNum);
+ return Service.TaskCompleted(taskNum);
}
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile4.pubxml" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile4.pubxml"
new file mode 100644
index 0000000..36847ea
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile4.pubxml"
@@ -0,0 +1,17 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+https://go.microsoft.com/fwlink/?LinkID=208121.
+-->
+<Project>
+ <PropertyGroup>
+ <DeleteExistingFiles>false</DeleteExistingFiles>
+ <ExcludeApp_Data>false</ExcludeApp_Data>
+ <LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
+ <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
+ <LastUsedPlatform>Any CPU</LastUsedPlatform>
+ <PublishProvider>FileSystem</PublishProvider>
+ <PublishUrl>bin\Release\net6.0\publish\</PublishUrl>
+ <WebPublishMethod>FileSystem</WebPublishMethod>
+ <_TargetId>Folder</_TargetId>
+ </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/appsettings.json"
index 4c48174..bf8f45b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/appsettings.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Server/appsettings.json"
@@ -26,7 +26,7 @@
},
"WMSApiAddress": "http://127.0.0.1:9293", //"http://127.0.0.1:9283",姝e紡鐜鍦板潃
"ApiName": "WIDESEA",
- "ExpMinutes": 120,
+ "ExpMinutes": 300,
"QuartzJobAutoStart": true,
"WebSocketEnable": false,
"WebSocketPort": 9260
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
index 9449f13..3156ff5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
@@ -41,12 +41,12 @@
_taskRepository = taskRepository;
}
- public void AddTaskExecuteDetail(int taskId, string description = "")
+ public void AddTaskExecuteDetail(Dt_Task task, string description = "")
{
try
{
bool isNormal = true;
- Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskId);
+ Dt_Task taskExist = _taskRepository.QueryFirst(x => x.TaskNum == task.TaskNum);
if (task == null) return;
int taskNum = task.TaskNum;
int taskState = task.TaskState;
@@ -60,7 +60,7 @@
IsManual = App.User?.UserId > 0,
IsNormal = isNormal,
TaskNum = taskNum,
- TaskId = taskId,
+ TaskId = taskExist.TaskId,
TaskState = taskState,
Description = description,
CurrentAddress = task.CurrentAddress,
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index bc33716..d7eea4a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -15,6 +15,7 @@
*----------------------------------------------------------------*/
#endregion << 鐗� 鏈� 娉� 閲� >>
using AutoMapper;
+using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using NPOI.SS.Formula.Functions;
using SqlSugar;
@@ -37,6 +38,7 @@
using WIDESEAWCS_DTO.Agv;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
@@ -59,6 +61,7 @@
private readonly IRouterRepository _routerRepository;
private readonly IApiInfoRepository _apiInfoRepository;
private readonly ILocationInfoRepository _locationInfoRepository;
+ private readonly ILocationInfoService _locationInfoService;
private Dictionary<string, OrderByType> _taskOrderBy = new()
{
@@ -76,7 +79,7 @@
public List<int> TaskRelocationTypes => typeof(TaskTypeEnum).GetEnumIndexList().Where(x => x >= 900 && x < 1000).ToList();
- public TaskService(ITaskRepository BaseDal, IMapper mapper, ICacheService cacheService, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IApiInfoRepository apiInfoRepository,ILocationInfoRepository locationInfoRepository,IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+ public TaskService(ITaskRepository BaseDal, IMapper mapper, ICacheService cacheService, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IApiInfoRepository apiInfoRepository,ILocationInfoRepository locationInfoRepository,IUnitOfWorkManage unitOfWorkManage, ILocationInfoService locationInfoService) : base(BaseDal)
{
_mapper = mapper;
_cacheService = cacheService;
@@ -88,6 +91,7 @@
_apiInfoRepository = apiInfoRepository;
_locationInfoRepository = locationInfoRepository;
_unitOfWorkManage = unitOfWorkManage;
+ _locationInfoService = locationInfoService;
}
static object lock_taskReceive = new object();
/// <summary>
@@ -111,7 +115,7 @@
List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData();
//涓嬪彂浠诲姟缁�
string taskGroup= taskDTO.TaskGroupCode.IsNullOrEmpty() ? Guid.NewGuid().ToString().Replace("-","") : taskDTO.TaskGroupCode;
- foreach (var item in taskDTO.Tasks)
+ foreach (var item in taskDTO.Tasks.OrderBy(x=>x.ToStationCode))
{
if (item.ToStationCode.IsNullOrEmpty()) throw new Exception($"浠诲姟{item.TaskCode}鍑哄簱鐩爣鎿嶄綔鍙颁笉鑳戒负绌�");
//鑾峰彇鎿嶄綔鍙�
@@ -126,7 +130,7 @@
task.GroupId = taskGroup;
task.TaskType = TaskTypeEnum.Outbound.ObjToInt();
task.Roadway = locationInfo.RoadwayNo;
- task.DeviceCode = "AGV";
+ task.DeviceCode = stationManger.CraneCode;
task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt();
tasks.Add(task);
}
@@ -152,7 +156,89 @@
}
return content;
}
-
+ static object lock_containerFlow = new object();
+ /// <summary>
+ /// 瀹瑰櫒鍏ュ簱鍒涘缓浠诲姟
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent ContainerFlow(ContainerFlowDTO containerFlowDTO, string deviceCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ lock (lock_containerFlow)
+ {
+ List<Dt_LocationInfo> locationInfos = _locationInfoRepository.QueryData();
+ Dt_LocationInfo? locationInfo = locationInfos.FirstOrDefault(x=>x.PalletCode== containerFlowDTO.ContainerCode);
+ if (locationInfo != null) throw new Exception($"鏂欑鍙穥containerFlowDTO.ContainerCode}宸插瓨鍦�");
+ if (BaseDal.QueryFirst(x=>x.PalletCode==containerFlowDTO.ContainerCode)!=null) throw new Exception($"鏂欑鍙穥containerFlowDTO.ContainerCode}浠诲姟宸插瓨鍦�");
+ Dt_LocationInfo? noInLocation = locationInfos.FirstOrDefault(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && x.EnableStatus == EnableStatusEnum.Normal.ObjToInt());
+ if (noInLocation == null) throw new Exception($"鍙敤璐т綅涓嶈冻!");
+ Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt() && x.StationDeviceCode == deviceCode);
+ //涓嬪彂浠诲姟缁�
+ Dt_Task task = new Dt_Task();
+ task.PalletCode = containerFlowDTO.ContainerCode;
+ task.SourceAddress = containerFlowDTO.SlotCode;
+ task.CurrentAddress = containerFlowDTO.SlotCode;
+ task.NextAddress = stationManger.StationCode;
+ task.TargetAddress = "";
+ task.WMSId = "";
+ task.TaskType = TaskTypeEnum.Inbound.ObjToInt();
+ task.Roadway = noInLocation.RoadwayNo;
+ task.DeviceCode = stationManger.StationDeviceCode;
+ task.TaskState = TaskStatusEnum.CL_Executing.ObjToInt();
+ //娣诲姞浠诲姟
+ BaseDal.AddData(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(new List<int>() { task.TaskNum }, "鍒涘缓鍏ュ簱浠诲姟");
+ content.OK("鎴愬姛");
+ }
+ }
+ catch (Exception ex)
+ {
+ content.Error($"閿欒淇℃伅:{ex.Message}");
+ }
+ return content;
+ }
+ static object lock_requestInTask = new object();
+ /// <summary>
+ /// 鐢宠鍏ュ簱
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent RequestInTask(string stationCode,string barCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ lock (lock_requestInTask)
+ {
+ Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == barCode && x.NextAddress == stationCode && x.TaskState == TaskStatusEnum.CL_Executing.ObjToInt());
+ if (task == null) throw new Exception($"{barCode}鏂欑鏈壘鍒颁换鍔�!");
+ Dt_LocationInfo? locationInfo = _locationInfoService.AssignLocation();
+ if (locationInfo == null) throw new Exception($"鍙敤璐т綅涓嶈冻!");
+ task.NextAddress = locationInfo.LocationCode;
+ task.TargetAddress = locationInfo.LocationCode;
+ task.CurrentAddress = stationCode;
+ task.DeviceCode = "AGV";
+ task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt();
+ locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
+ //鏇存柊浠诲姟鍜岃揣浣嶆暟鎹�
+ _unitOfWorkManage.BeginTran();
+ BaseDal.UpdateData(task);
+ _locationInfoRepository.UpdateData(locationInfo);
+ _unitOfWorkManage.CommitTran();
+ _taskExecuteDetailService.AddTaskExecuteDetail(new List<int>() { task.TaskNum }, $"鍒嗛厤璐т綅{locationInfo.LocationCode}");
+
+ content.OK("鎴愬姛");
+ }
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ content.Error($"閿欒淇℃伅:{ex.Message}");
+ }
+ return content;
+ }
+
public static string Post(string serviceAddress, string requestJson = "", string contentType = "application/json", Dictionary<string, string>? headers = null)
{
string result = string.Empty;
@@ -208,7 +294,7 @@
task.ModifyDate = DateTime.Now;
BaseDal.UpdateData(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, task.ExceptionMessage);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task, task.ExceptionMessage);
content = WebResponseContent.Instance.OK();
}
@@ -250,7 +336,7 @@
BaseDal.UpdateData(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"浜哄伐鎭㈠鎸傝捣浠诲姟,鎭㈠鎸傝捣鏃朵换鍔$姸鎬併�恵task.TaskState}銆�");
+ _taskExecuteDetailService.AddTaskExecuteDetail(task, $"浜哄伐鎭㈠鎸傝捣浠诲姟,鎭㈠鎸傝捣鏃朵换鍔$姸鎬併�恵task.TaskState}銆�");
content = WebResponseContent.Instance.OK();
}
@@ -291,7 +377,7 @@
BaseDal.UpdateData(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"浜哄伐灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戝洖婊氬埌銆恵task.TaskState}銆�");
+ _taskExecuteDetailService.AddTaskExecuteDetail(task, $"浜哄伐灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戝洖婊氬埌銆恵task.TaskState}銆�");
content = WebResponseContent.Instance.OK();
}
@@ -339,7 +425,7 @@
AgvTaskFlowDTO agvTaskFlowDTO = new AgvTaskFlowDTO()
{
RequestId = Guid.NewGuid().ToString().Replace("-", ""),
- ContainerCode = code
+ MissionCode = code
};
string request = JsonConvert.SerializeObject(agvTaskFlowDTO, settings);
string response = HttpHelper.Post(url, request);
@@ -409,25 +495,37 @@
}
else if(task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍏ュ簱浠诲姟閫昏緫
{
- string? url = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMSInBoundBack.ToString())?.ApiAddress;
- if (string.IsNullOrEmpty(url))
+ //string? url = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMSInBoundBack.ToString())?.ApiAddress;
+ //if (string.IsNullOrEmpty(url))
+ //{
+ // _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒癢MS鍏ュ簱涓婃姤鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
+ // UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒癢MS鍏ュ簱涓婃姤鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
+ // return content.Error($"{taskNum},鏈壘鍒癢MS鍏ュ簱涓婃姤鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
+ //}
+ //ContainerInFinishDTO containerInFinishDTO = new ContainerInFinishDTO()
+ //{
+ // TaskCode= task.TaskNum.ToString(),
+ // ContainerCode = task.PalletCode,
+ // FromStationCode = task.SourceAddress,
+ // ToLocationCode = task.TargetAddress
+ //};
+ //string request = JsonConvert.SerializeObject(containerInFinishDTO, settings);
+ ////璋冪敤鎺ュ彛
+ //string response = HttpHelper.Post(url, request);
+ //WMSResponseContent wMSResponse = JsonConvert.DeserializeObject<WMSResponseContent>(response) ??throw new Exception($"{taskNum},鏈帴鏀跺埌WMS鍏ュ簱涓婃姤杩斿洖鍊�");
+ //if (wMSResponse.Code!="0") throw new Exception($"鍏ュ簱浠诲姟{task.TaskNum}WMS鍏ュ簱涓婃姤閿欒,淇℃伅:{wMSResponse.Msg}");
+ Dt_LocationInfo locationInfo = _locationInfoRepository.QueryFirst(x => x.LocationCode == task.TargetAddress);
+ if (locationInfo.LocationStatus != LocationStatusEnum.Lock.ObjToInt())
{
- _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒癢MS鍏ュ簱涓婃姤鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
- UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒癢MS鍏ュ簱涓婃姤鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
- return content.Error($"{taskNum},鏈壘鍒癢MS鍏ュ簱涓婃姤鎺ュ彛,璇锋鏌ユ帴鍙i厤缃�");
+ return content.Error($"{locationInfo.LocationCode}璐т綅鐘舵�佷笉姝g‘");
}
- ContainerInFinishDTO containerInFinishDTO = new ContainerInFinishDTO()
- {
- TaskCode= task.TaskNum.ToString(),
- ContainerCode = task.PalletCode,
- FromStationCode = task.SourceAddress,
- ToLocationCode = task.TargetAddress
- };
- string request = JsonConvert.SerializeObject(containerInFinishDTO, settings);
- //璋冪敤鎺ュ彛
- string response = HttpHelper.Post(url, request);
- WMSResponseContent wMSResponse = JsonConvert.DeserializeObject<WMSResponseContent>(response) ??throw new Exception($"{taskNum},鏈帴鏀跺埌WMS鍏ュ簱涓婃姤杩斿洖鍊�");
- if (wMSResponse.Code!="0") throw new Exception($"鍏ュ簱浠诲姟{task.TaskNum}WMS鍏ュ簱涓婃姤閿欒,淇℃伅:{wMSResponse.Msg}");
+ task.TaskState = TaskStatusEnum.Finish.ObjToInt();
+ locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
+ locationInfo.PalletCode = task.PalletCode;
+ _unitOfWorkManage.BeginTran();
+ _locationInfoRepository.UpdateData(locationInfo);
+ BaseDal.DeleteAndMoveIntoHty(task, App.User?.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ _unitOfWorkManage.CommitTran();
}
content.OK("浠诲姟瀹屾垚");
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
index 06efdd4..46eef8e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_TaskInfoService/TaskService_Operate.cs"
@@ -93,7 +93,7 @@
task.TaskState = taskStatus.ObjToInt();
}
BaseDal.UpdateData(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, stringBuilder.ToString());
+ _taskExecuteDetailService.AddTaskExecuteDetail(task, stringBuilder.ToString());
}
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/AGV/AGVExtend.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/AGV/AGVExtend.cs"
index 8e51305..7055ef8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/AGV/AGVExtend.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/AGV/AGVExtend.cs"
@@ -109,7 +109,7 @@
//鑾峰彇鐩爣鐐硅揣浣�
Dt_LocationInfo locationInfoEnd = _locationInfoRepository.QueryFirst(x => x.LocationCode == task.NextAddress);
//鑾峰彇绾夸綋鍏ュ簱绔欏彴
- Dt_StationManger stationMangerStart = _stationMangerRepository.QueryFirst(x => x.PickStationCode == task.CurrentAddress);
+ Dt_StationManger stationMangerStart = _stationMangerRepository.QueryFirst(x => x.StationCode == task.CurrentAddress);
if (locationInfoEnd == null || stationMangerStart == null) throw new Exception($"鏈壘鍒颁换鍔″彿${task.TaskNum}璧峰鐐箋task.CurrentAddress}鎴栫洰鏍囩偣{task.NextAddress}浣嶇疆淇℃伅");
agvTaskSend.RequestId = Guid.NewGuid().ToString().Replace("-", "");
agvTaskSend.MissionCode = task.TaskNum.ToString();
@@ -130,10 +130,10 @@
StartSlotCode = stationMangerStart.CraneStationCode,
EndPosition = locationInfoEnd.AgvPoint,
EndSlotCode = locationInfoEnd.LocationCode,
- TakeActionConfirm = false,
- TakeActionInform = false,
- PutActionConfirm = true,
- PutActionInform = true,
+ TakeActionConfirm = true,
+ TakeActionInform = true,
+ PutActionConfirm = false,
+ PutActionInform = false,
};
agvTaskSend.MissionData.Add(missionDataItem);
//鍙戦�丄GV浠诲姟
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/\344\272\214\346\234\237\347\272\277\344\275\223/ConveyorLineDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/\344\272\214\346\234\237\347\272\277\344\275\223/ConveyorLineDBName.cs"
index 6c967f3..ba89c5e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/\344\272\214\346\234\237\347\272\277\344\275\223/ConveyorLineDBName.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/\344\272\214\346\234\237\347\272\277\344\275\223/ConveyorLineDBName.cs"
@@ -33,12 +33,8 @@
/// </summary>
R_PickBarCode,
/// <summary>
- /// 鎷i�夊幓鍚�(鍐�)
+ /// 鎷i�夊幓鍚�/鎷i�夌‘璁�(鍐�)
/// </summary>
- W_PickToHode,
- /// <summary>
- /// 鎷i�夌‘璁�(鍐�)
- /// </summary>
- W_PickResponse,
+ W_PickToHode
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/\344\272\214\346\234\237\347\272\277\344\275\223/ConveyorLineJob2.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/\344\272\214\346\234\237\347\272\277\344\275\223/ConveyorLineJob2.cs"
index 5a91d08..2cd34b8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/\344\272\214\346\234\237\347\272\277\344\275\223/ConveyorLineJob2.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_Tasks/\344\272\214\346\234\237\347\272\277\344\275\223/ConveyorLineJob2.cs"
@@ -10,6 +10,7 @@
using WIDESEAWCS_Common;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
@@ -45,41 +46,71 @@
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
if (conveyorLine != null)
{
- #region 绔欏彴鏂瑰紡
-
List<Dt_StationManger> stationManagers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == conveyorLine.DeviceCode);
foreach (var station in stationManagers)
{
- if (station.StationType==StationTypeEnum.StationType_OnlyOutbound.ObjToInt()) //鎷i�夌敵璇�
+ if (station.StationType==StationTypeEnum.StationType_OnlyOutbound.ObjToInt())
{
+ //鎷i�夌敵璇�
bool PickRequest = conveyorLine.GetValue<ConveyorLineDBName, bool>(ConveyorLineDBName.R_PickRequest, station.StationCode);
if (PickRequest)
{
- string PickBarCode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_PickBarCode, station.StationCode).Replace("\0", "");
+ string PickBarCode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_PickBarCode, station.StationCode).Trim();
//涓婃姤WMS鏂欑鍒拌揪
if (PickBarCode.IsNotEmptyOrNull())
{
- WebResponseContent content = _taskService.WMSPickUp(station.PickStationCode, PickBarCode);
+ //WebResponseContent content = _taskService.WMSPickUp(station.PickStationCode, PickBarCode);
+ WebResponseContent content = WebResponseContent.Instance.OK();
if (content.Status)
{
//鍐欏叆鎷i�夌‘璁�
+ conveyorLine.SetValue(ConveyorLineDBName.W_PickToHode, (short)300, station.StationCode);
+ }
+ else
+ {
+ WriteError(nameof(conveyorLine.DeviceCode), $"{station.PickStationCode}鎷i�夌敵璇蜂笂鎶MS閿欒锛屼俊鎭瘂content.Message}");
}
}
else
{
- WriteError(nameof(conveyorLine.DeviceCode), $"{station.StationCode}鎷i�夌敵璇蜂负{PickRequest}鏉$爜涓虹┖鍊�");
+ WriteError(nameof(conveyorLine.DeviceCode), $"{station.PickStationCode}鎷i�夌敵璇蜂负{PickRequest}鏉$爜涓虹┖鍊�");
}
}
}
else
{
-
+ //鍏ュ簱鐢宠
+ bool InRequest = conveyorLine.GetValue<ConveyorLineDBName, bool>(ConveyorLineDBName.R_InRequest, station.StationCode);
+ bool InResponse = conveyorLine.GetValue<ConveyorLineDBName, bool>(ConveyorLineDBName.W_InResponse, station.StationCode);
+ int InWeight = conveyorLine.GetValue<ConveyorLineDBName, int>(ConveyorLineDBName.R_InWeight, station.StationCode);
+ if (InRequest && !InResponse && InWeight>0)
+ {
+ string InBarCode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.R_InBarCode, station.StationCode).Trim();
+ //鏂欑鍒拌揪
+ if (InBarCode.IsNotEmptyOrNull())
+ {
+ //鐢宠鍏ュ簱浠诲姟
+ WebResponseContent content =_taskService.RequestInTask(station.StationCode,InBarCode);
+ if (content.Status)
+ {
+ //鍐欏叆鍏ュ簱纭
+ conveyorLine.SetValue(ConveyorLineDBName.W_InResponse, true, station.StationCode);
+ }
+ else
+ {
+ WriteError(nameof(conveyorLine.DeviceCode), $"绔欏彴{station.StationCode}鏂欑{InBarCode}鐢宠鍏ュ簱浠诲姟閿欒锛屼俊鎭瘂content.Message}");
+ }
+ }
+ else
+ {
+ WriteError(nameof(conveyorLine.DeviceCode), $"绔欏彴{station.StationCode}鍏ュ簱鐢宠涓簕InRequest}鏉$爜涓虹┖鍊�");
+ }
+ }
}
}
- #endregion 绔欏彴鏂瑰紡
}
}
catch (Exception ex)
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/AGV\351\200\232\344\277\241\346\226\207\346\241\243/WMS\350\276\223\351\200\201\347\272\277\345\257\271\346\216\245\345\215\217\350\256\256251126.xls" "b/\351\241\271\347\233\256\350\265\204\346\226\231/AGV\351\200\232\344\277\241\346\226\207\346\241\243/WMS\350\276\223\351\200\201\347\272\277\345\257\271\346\216\245\345\215\217\350\256\256251126.xls"
index 3f24a27..aac2d33 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/AGV\351\200\232\344\277\241\346\226\207\346\241\243/WMS\350\276\223\351\200\201\347\272\277\345\257\271\346\216\245\345\215\217\350\256\256251126.xls"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/AGV\351\200\232\344\277\241\346\226\207\346\241\243/WMS\350\276\223\351\200\201\347\272\277\345\257\271\346\216\245\345\215\217\350\256\256251126.xls"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/AGV\351\200\232\344\277\241\346\226\207\346\241\243/\350\276\223\351\200\201\346\213\243\351\200\211\345\222\214\347\253\231\345\217\260\347\274\226\345\217\267.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/AGV\351\200\232\344\277\241\346\226\207\346\241\243/\350\276\223\351\200\201\346\213\243\351\200\211\345\222\214\347\253\231\345\217\260\347\274\226\345\217\267.xlsx"
index 64a7bea..13864b5 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/AGV\351\200\232\344\277\241\346\226\207\346\241\243/\350\276\223\351\200\201\346\213\243\351\200\211\345\222\214\347\253\231\345\217\260\347\274\226\345\217\267.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/AGV\351\200\232\344\277\241\346\226\207\346\241\243/\350\276\223\351\200\201\346\213\243\351\200\211\345\222\214\347\253\231\345\217\260\347\274\226\345\217\267.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\344\270\200\346\234\237Ip.png" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\344\270\200\346\234\237Ip.png"
new file mode 100644
index 0000000..2f1286a
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\344\270\200\346\234\237Ip.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\345\223\210\345\260\224\346\273\250\344\270\200\346\234\237\350\276\223\351\200\201\347\272\277\345\257\271\346\216\245\345\215\217\350\256\256modbusTcp\345\215\217\350\256\256V1.1.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\345\223\210\345\260\224\346\273\250\344\270\200\346\234\237\350\276\223\351\200\201\347\272\277\345\257\271\346\216\245\345\215\217\350\256\256modbusTcp\345\215\217\350\256\256V1.1.xlsx"
index 2452227..d94e44c 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\345\223\210\345\260\224\346\273\250\344\270\200\346\234\237\350\276\223\351\200\201\347\272\277\345\257\271\346\216\245\345\215\217\350\256\256modbusTcp\345\215\217\350\256\256V1.1.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\345\223\210\345\260\224\346\273\250\344\270\200\346\234\237\350\276\223\351\200\201\347\272\277\345\257\271\346\216\245\345\215\217\350\256\256modbusTcp\345\215\217\350\256\256V1.1.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\347\221\236\346\204\217\345\215\232\351\203\250\347\275\262\346\216\245\345\217\243\346\226\207\346\241\243.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\347\221\236\346\204\217\345\215\232\351\203\250\347\275\262\346\216\245\345\217\243\346\226\207\346\241\243.pdf"
new file mode 100644
index 0000000..9c89423
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\347\221\236\346\204\217\345\215\232\351\203\250\347\275\262\346\216\245\345\217\243\346\226\207\346\241\243.pdf"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\347\224\265\345\255\220\346\240\207\347\255\276\346\216\245\345\217\243\346\226\207\346\241\243.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\347\224\265\345\255\220\346\240\207\347\255\276\346\216\245\345\217\243\346\226\207\346\241\243.pdf"
new file mode 100644
index 0000000..6f78eef
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\200\346\234\237\345\257\271\346\216\245\347\233\270\345\205\263\350\265\204\346\226\231/\347\224\265\345\255\220\346\240\207\347\255\276\346\216\245\345\217\243\346\226\207\346\241\243.pdf"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\346\261\207\346\200\273\346\226\207\344\273\266/WMS\346\216\245\345\217\243\345\257\271\346\216\245\346\226\207\346\241\243_V1.1.3.docx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\346\261\207\346\200\273\346\226\207\344\273\266/WMS\346\216\245\345\217\243\345\257\271\346\216\245\346\226\207\346\241\243_V1.1.3.docx"
index 63840a7..ce4c30d 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\346\261\207\346\200\273\346\226\207\344\273\266/WMS\346\216\245\345\217\243\345\257\271\346\216\245\346\226\207\346\241\243_V1.1.3.docx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\346\261\207\346\200\273\346\226\207\344\273\266/WMS\346\216\245\345\217\243\345\257\271\346\216\245\346\226\207\346\241\243_V1.1.3.docx"
Binary files differ
--
Gitblit v1.9.3