From efc4ebd67444a34bc66ac04c23f2410fcdd47ef8 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期二, 26 八月 2025 18:19:29 +0800
Subject: [PATCH] 原料大小货位二楼输送线,堆垛机代码提交
---
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-wal | 0
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json | 176 ++++--
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/原料库/ConveyorLineJob_YL2ndFloor.cs | 170 +++++-
项目代码/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json | 6
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs | 62 ++
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/原料库/StackerCraneJob_YLSC3.cs | 369 ++++++++++++++
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs | 120 ++++
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_CLineYLDBName.cs | 36 +
项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm | 0
项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-shm | 0
项目资料/通信协议/原料库输送线通讯协议.xlsx | 0
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/原料库/Task/RequestInbound.cs | 80 +++
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-shm | 0
项目代码/WCS/WCSClient/package-lock.json | 174 +++---
项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db | 0
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db | 0
项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db | 0
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm | 0
项目资料/通信协议/龙利得设备通讯协议.xls | 0
项目代码/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs | 12
项目代码/WCS/WCSServices/WIDESEAWCS_Server/Filter/CustomProfile.cs | 4
项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-wal | 0
项目代码/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal | 0
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal | 0
项目代码/WCS/WCSClient/src/views/taskinfo/task.vue | 7
项目代码/WMS/WMSServices/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs | 6
项目代码/WCS/WCSClient/src/views/Login.vue | 2
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json | 155 ++++-
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskCommand.cs | 53 ++
项目代码/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db | 0
项目代码/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 31 +
31 files changed, 1,215 insertions(+), 248 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/package-lock.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/package-lock.json"
index 79b2868..15e9bc4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/package-lock.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/package-lock.json"
@@ -1278,6 +1278,11 @@
"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",
@@ -1836,87 +1841,6 @@
"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": {
@@ -5014,13 +4938,6 @@
"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": {
@@ -12608,6 +12525,87 @@
}
}
},
+ "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"
+ }
+ }
+ }
+ },
"vue-router": {
"version": "4.0.10",
"resolved": "https://registry.nlark.com/vue-router/download/vue-router-4.0.10.tgz?cache=0&sync_timestamp=1624286995690&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-4.0.10.tgz",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/Login.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/Login.vue"
index c61c0e8..314701e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/Login.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/Login.vue"
@@ -97,7 +97,7 @@
const userInfo = reactive({
userName: '',
password: '',
- verificationCode: '',
+ verificationCode: '1234',
UUID: undefined
});
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/taskinfo/task.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/taskinfo/task.vue"
index 887aced..46ba9fa 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/taskinfo/task.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSClient/src/views/taskinfo/task.vue"
@@ -65,7 +65,7 @@
{ title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "like" },
],
[
- { title: "宸烽亾鍙�", field: "roadway", type: "like" },
+ { title: "宸烽亾鍙�", field: "roadway", type: "like", type: "select",dataKey: "Stacker",data: [],},
{ title: "鍒涘缓浜�", field: "creater", type: "like" },
{ title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
],
@@ -99,14 +99,15 @@
field: "roadway",
title: "宸烽亾鍙�",
type: "string",
- width: 90,
+ width: 150,
align: "left",
+ bind: { key: "Stacker", data: [] },
},
{
field: "taskType",
title: "浠诲姟绫诲瀷",
type: "int",
- width: 90,
+ width: 130,
align: "left",
bind: { key: "taskType", data: [] },
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db"
new file mode 100644
index 0000000..2d82112
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-shm"
new file mode 100644
index 0000000..711f028
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-wal"
new file mode 100644
index 0000000..de5e741
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db"
new file mode 100644
index 0000000..d192163
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm"
new file mode 100644
index 0000000..328877f
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal"
new file mode 100644
index 0000000..467f6fa
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
index e23e344..52f5cbc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
@@ -1,22 +1,38 @@
{
"Version": 1,
- "WorkspaceRootPath": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\",
+ "WorkspaceRootPath": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|d:\\\u9879\u76EE\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpa.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpa.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc3.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc3.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|d:\\\u9879\u76EE\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\stackercranejob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\stackercranejob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|d:\\\u9879\u76EE\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|d:\\\u9879\u76EE\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl2ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl2ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\stackercranejob\\stackercranetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -26,33 +42,11 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "SelectedChildIndex": 5,
"Children": [
{
- "$type": "Document",
- "DocumentIndex": 2,
- "Title": "ConveyorLineJob_CPB.cs",
- "DocumentMoniker": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPB.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPB.cs",
- "ToolTip": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPB.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPB.cs",
- "ViewState": "AgIAACMAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-11T02:41:57.134Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "TaskService.cs",
- "DocumentMoniker": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "ToolTip": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAANACAAAAAAAAAAAuwOsCAAAUAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-11T02:25:29.434Z",
- "EditorCaption": ""
+ "$type": "Bookmark",
+ "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
@@ -60,28 +54,106 @@
},
{
"$type": "Document",
- "DocumentIndex": 1,
- "Title": "StackerCraneJob_CP.cs",
- "DocumentMoniker": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\StackerCraneJob_CP.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\StackerCraneJob_CP.cs",
- "ToolTip": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\StackerCraneJob_CP.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\StackerCraneJob_CP.cs",
- "ViewState": "AgIAACYAAAAAAAAAAAAUwMcAAAAUAAAAAAAAAA==",
+ "DocumentIndex": 6,
+ "Title": "ITaskService.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+ "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+ "ViewState": "AgIAAB0BAAAAAAAAAAAqwDMBAABnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-11T02:21:49.881Z",
+ "WhenOpened": "2025-08-26T08:43:23.403Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "ConveyorLineJob_YL1ndFloor.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
+ "ViewState": "AgIAAIAAAAAAAAAAAAAQwKIAAAAhAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T08:14:32.595Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "StackerCraneJob_YLSC2.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
+ "ViewState": "AgIAABsBAAAAAAAAAAAAADkBAAA3AAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T07:36:02.568Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "ConveyorLineJob_CPA.cs",
- "DocumentMoniker": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPA.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPA.cs",
- "ToolTip": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPA.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPA.cs",
- "ViewState": "AgIAADcAAAAAAAAAAAAUwEcAAABLAAAAAAAAAA==",
+ "Title": "StackerCraneJob_YLSC3.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
+ "ViewState": "AgIAAIoAAAAAAAAAAADwv3MAAAA7AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-11T02:16:58.228Z",
+ "WhenOpened": "2025-08-26T03:21:04.215Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "TaskService.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "ViewState": "AgIAAMcDAAAAAAAAAAAAAMoDAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T02:24:09.743Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "ConveyorLineJob_YL2ndFloor.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
+ "ViewState": "AgIAAHQAAAAAAAAAAAAEwI4AAABkAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T01:28:18.859Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "RequestInbound.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
+ "ViewState": "AgIAACEAAAAAAAAAAAD4vzQAAAA6AAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T02:42:07.772Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "StackerCraneTaskCommand.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
+ "ViewState": "AgIAAF4AAAAAAAAAAAAswHQAAAAfAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T06:12:44.394Z",
"EditorCaption": ""
}
]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
index 9b81596..bdcf418 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json"
@@ -1,22 +1,38 @@
{
"Version": 1,
- "WorkspaceRootPath": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\",
+ "WorkspaceRootPath": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|d:\\\u9879\u76EE\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpa.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpa.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|d:\\\u9879\u76EE\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\stackercranejob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\stackercranejob_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc3.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc3.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|d:\\\u9879\u76EE\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u6210\u54C1\u4ED3\\conveyorlinejob_cpb.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|d:\\\u9879\u76EE\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\stackercranejob_ylsc2.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl1ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl2ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\\u539F\u6599\u5E93\\conveyorlinejob_yl2ndfloor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\longdeliliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wcsservices\\wideseawcs_tasks\\stackercranejob\\stackercranetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\stackercranetaskcommand.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -26,59 +42,118 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "SelectedChildIndex": 8,
"Children": [
+ {
+ "$type": "Bookmark",
+ "Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
+ },
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Document",
- "DocumentIndex": 2,
- "Title": "ConveyorLineJob_CPB.cs",
- "DocumentMoniker": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPB.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPB.cs",
- "ToolTip": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPB.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPB.cs",
- "ViewState": "AgIAACMAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAA==",
+ "DocumentIndex": 6,
+ "Title": "ITaskService.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+ "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
+ "ViewState": "AgIAAB0BAAAAAAAAAAAqwDMBAABnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-11T02:41:57.134Z"
+ "WhenOpened": "2025-08-26T08:43:23.403Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "ConveyorLineJob_YL1ndFloor.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL1ndFloor.cs",
+ "ViewState": "AgIAAIAAAAAAAAAAAAAQwKIAAAAhAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T08:14:32.595Z",
+ "EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
- "Title": "TaskService.cs",
- "DocumentMoniker": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "ToolTip": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAANACAAAAAAAAAAAuwOsCAAAUAAAAAAAAAA==",
+ "Title": "StackerCraneJob_YLSC2.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC2.cs",
+ "ViewState": "AgIAABsBAAAAAAAAAAAAADkBAAA3AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-11T02:25:29.434Z"
+ "WhenOpened": "2025-08-26T07:36:02.568Z",
+ "EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
- "Title": "StackerCraneJob_CP.cs",
- "DocumentMoniker": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\StackerCraneJob_CP.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\StackerCraneJob_CP.cs",
- "ToolTip": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\StackerCraneJob_CP.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\StackerCraneJob_CP.cs",
- "ViewState": "AgIAACYAAAAAAAAAAAAUwMcAAAAUAAAAAAAAAA==",
+ "Title": "StackerCraneJob_YLSC3.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\StackerCraneJob_YLSC3.cs",
+ "ViewState": "AgIAAIoAAAAAAAAAAADwv3MAAAA7AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-11T02:21:49.881Z"
+ "WhenOpened": "2025-08-26T03:21:04.215Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "TaskService.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
+ "ViewState": "AgIAAMcDAAAAAAAAAAAAAMoDAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T02:24:09.743Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "ConveyorLineJob_YL2ndFloor.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\ConveyorLineJob_YL2ndFloor.cs",
+ "ViewState": "AgIAAHQAAAAAAAAAAAAEwI4AAABkAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T01:28:18.859Z",
+ "EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "ConveyorLineJob_CPA.cs",
- "DocumentMoniker": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPA.cs",
- "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPA.cs",
- "ToolTip": "D:\\\u9879\u76EE\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPA.cs",
- "RelativeToolTip": "WIDESEAWCS_Tasks\\\u6210\u54C1\u4ED3\\ConveyorLineJob_CPA.cs",
- "ViewState": "AgIAADcAAAAAAAAAAAAUwEcAAABLAAAAAAAAAA==",
+ "Title": "RequestInbound.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\\u539F\u6599\u5E93\\Task\\RequestInbound.cs",
+ "ViewState": "AgIAADMAAAAAAAAAAADwv0sAAACIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-07-11T02:16:58.228Z",
+ "WhenOpened": "2025-08-26T02:42:07.772Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "StackerCraneTaskCommand.cs",
+ "DocumentMoniker": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
+ "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
+ "ToolTip": "E:\\GET\\LongDeLiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WCSServices\\WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
+ "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\StackerCraneTaskCommand.cs",
+ "ViewState": "AgIAAF4AAAAAAAAAAAAswHQAAAAfAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-08-26T06:12:44.394Z",
"EditorCaption": ""
}
]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
index 7f758b7..75b70d8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
@@ -94,6 +94,12 @@
OutWFB = 320,
/// <summary>
+ /// 鏃犵汉甯冨埗琚嬩緵鏂�
+ /// </summary>
+ [Description("鏃犵汉甯冨埗琚嬩緵鏂�")]
+ OutWFBGL = 330,
+
+ /// <summary>
/// 閲囪喘鍏ュ簱
/// </summary>
[Description("閲囪喘鍏ュ簱")]
@@ -186,6 +192,12 @@
PrintBackInbound = 720,
/// <summary>
+ /// 鏃犵汉甯冨埗琚嬮厤鏂�
+ /// </summary>
+ [Description("鏃犵汉甯冨埗琚嬮厤鏂�")]
+ InBoundWFBZTPL = 730,
+
+ /// <summary>
/// 宸烽亾鍐呯Щ搴�
/// </summary>
[Description("宸烽亾鍐呯Щ搴�")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index d375bea..de7754c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -275,5 +275,36 @@
/// <param name="taskNum"></param>
/// <returns></returns>
public WebResponseContent RecWMSTaskCompleted(int taskNum);
+
+ /// <summary>
+ /// 鏍规嵁鎵樼洏鍙枫�佸綋鍓嶅湴鍧�鏌ヨAGV瀹屾垚鐨勪换鍔�
+ /// </summary>
+ /// <param name="Barcode">鎵樼洏鍙�</param>
+ /// <param name="currentAddress">褰撳墠鍦板潃</param>
+ /// <returns></returns>
+ Dt_Task QueryBarCodeAGVFinishTask(int TaskNum, string currentAddress);
+
+ /// <summary>
+ /// 鏍规嵁鎵樼洏鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
+ /// </summary>
+ /// <param name="taskNum">浠诲姟鍙�</param>
+ /// <param name="nextAddress">涓嬩竴鍦板潃</param>
+ /// <returns></returns>
+ Dt_Task QueryExecutingTaskByBarcode(int TaskNum, string nextAddress);
+
+ /// <summary>
+ /// 鏍规嵁鎵樼洏鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎寰呮墽琛岀殑浠诲姟
+ /// </summary>
+ /// <param name="taskNum">浠诲姟鍙�</param>
+ /// <param name="nextAddress">涓嬩竴鍦板潃</param>
+ /// <returns></returns>
+ Dt_Task QueryLineExecuteTaskByBarcode(int TaskNum, string nextAddress);
+
+ /// <summary>
+ /// 灏嗕换鍔$姸鎬佷慨鏀逛负涓嬩竴涓姸鎬�
+ /// </summary>
+ /// <param name="task">浠诲姟瀹炰綋瀵硅薄</param>
+ /// <returns></returns>
+ WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task,Dt_StationManger stationManger);
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Filter/CustomProfile.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Filter/CustomProfile.cs"
index c831390..1c3de41 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Filter/CustomProfile.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Filter/CustomProfile.cs"
@@ -24,6 +24,10 @@
CreateMap<Dt_DeviceInfo,DeviceInfoDTO>();
CreateMap<WMSTaskDTO, Dt_Task>().ForMember(a => a.WMSId, b => b.MapFrom(b => b.Id));
CreateMap<Dt_Task, ConveyorLineTaskCommand>().ForMember(a => a.TargetAddress, b => b.MapFrom(b => b.NextAddress)).ForMember(a => a.Barcode, b => b.MapFrom(b => b.PalletCode)).ForMember(a => a.TaskNum, b => b.MapFrom(b => b.TaskNum));
+ CreateMap<Dt_Task, ConveyorLineTaskCommandWrite>()
+ .ForMember(a => a.Barcode, b => b.MapFrom(b => b.PalletCode))
+ .ForMember(a => a.TaskNum, b => b.MapFrom(b => b.TaskNum))
+ .ForMember(a => a.TargetAddress, b => b.MapFrom(b => b.NextAddress));
}
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
index 909a630..18b5d76 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/appsettings.json"
@@ -13,10 +13,12 @@
"DBType": "SqlServer",
//杩炴帴瀛楃涓�
//"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
- "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WCSLLD;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//"ConnectionString": "Data Source=192.168.35.3;Initial Catalog=TestWCS_TC;User ID=sa;Password=Sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=TESTWCSCP_WCS;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- "WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ "WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ //"WMSConnectionStrings": "Data Source=.;Initial Catalog=WIDESEA_WMSLLD;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//"WMSConnectionStrings": "Data Source=10.30.4.92;Initial Catalog=WIDESEAWMS_HUAIAN;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//璺ㄥ煙
"Cors": {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 8110c69..d49f9d2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -14,21 +14,10 @@
*
*----------------------------------------------------------------*/
#endregion << 鐗� 鏈� 娉� 閲� >>
-
using AutoMapper;
-using HslCommunication.Enthernet;
using Newtonsoft.Json;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
using WIDESEA_DTO.Agv;
using WIDESEAWCS_Common;
using WIDESEAWCS_Common.APIEnum;
@@ -37,18 +26,15 @@
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_DTO.BasicInfo;
-using WIDESEAWCS_DTO.System;
+using WIDESEAWCS_Core.LogHelper;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Repository;
using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_TaskInfoRepository;
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
namespace WIDESEAWCS_TaskInfoService
@@ -878,5 +864,109 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
+
+ public Dt_Task QueryBarCodeAGVFinishTask(int TaskNum, string currentAddress)
+ {
+ return BaseDal.QueryFirst(x => TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.AGV_Finish && x.NextAddress == currentAddress && x.TaskNum == TaskNum, TaskOrderBy);
+ }
+
+ public Dt_Task QueryExecutingTaskByBarcode(int TaskNum, string nextAddress)
+ {
+ return BaseDal.QueryFirst(x => x.TaskNum == TaskNum && x.NextAddress == nextAddress && x.TaskState == (int)TaskStatusEnum.Line_Executing, TaskOrderBy);
+ }
+
+ public Dt_Task QueryLineExecuteTaskByBarcode(int TaskNum, string nextAddress)
+ {
+ return BaseDal.QueryFirst(x => x.TaskNum == TaskNum && x.CurrentAddress == nextAddress && x.TaskState == (int)TaskStatusEnum.Line_Execute, TaskOrderBy);
+ }
+
+ public WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task,Dt_StationManger stationManger)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ TaskStatusEnum nextStatus = new TaskStatusEnum();
+ if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ {
+ if (task.TaskState == (int)TaskStatusEnum.SC_Executing)
+ {
+ task.CurrentAddress = task.NextAddress;
+ task.NextAddress = task.TargetAddress;
+ task.TaskState = (int)TaskStatusEnum.Line_Executing;
+ nextStatus = TaskStatusEnum.Line_Executing;
+ }
+ else if (task.TaskState == (int)TaskStatusEnum.SC_Execute)
+ {
+ task.TaskState = (int)TaskStatusEnum.SC_Executing;
+ nextStatus = TaskStatusEnum.SC_Executing;
+ }
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+ {
+ if (task.TaskState == (int)TaskStatusEnum.Line_Executing)
+ {
+ #region 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
+ //string? local = RequestAssignLocation(task.TaskNum, task.Roadway);
+ string? local = "SC05_YLDual-002-090-009-01";
+ if (!string.IsNullOrEmpty(local))
+ {
+ task.CurrentAddress = stationManger.StackerCraneStationCode;
+ task.TargetAddress = local;
+ task.NextAddress = local;
+ task.DeviceCode = stationManger.StackerCraneCode;
+ task.TaskState = (int)TaskStatusEnum.SC_Execute;
+ nextStatus = TaskStatusEnum.SC_Execute;
+ content.OK($"鑾峰彇璐т綅鍙穥local}");
+ }
+ else
+ {
+ return content.Error($"璇锋眰鍏ュ簱璐т綅澶辫触");
+ }
+ #endregion 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
+ }
+ else if (task.TaskState == (int)TaskStatusEnum.AGV_Finish)
+ {
+ //content = AssignYLRoadwayNo(task.PalletCode);
+ content.OK(data: "SC05_YLDual");
+ if (!content.Status)
+ {
+ return content.Error($"璇锋眰鍏ュ簱澶辫触锛歿content.Message}");
+ }
+ string roadWay = content.Data.ToString();
+
+ List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi && x.ChildPosiDeviceCode == roadWay);
+ Dt_Router router = routers.FirstOrDefault();
+ if (router == null)
+ {
+ return content.Error($"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�");
+ }
+
+ task.Roadway = roadWay;
+ task.NextAddress = router.NextPosi;
+ task.TaskState = (int)TaskStatusEnum.Line_Execute;
+ nextStatus = TaskStatusEnum.Line_Execute;
+ }
+ else if (task.TaskState == (int)TaskStatusEnum.Line_Execute)
+ {
+ task.TaskState = (int)TaskStatusEnum.Line_Executing;
+ nextStatus = TaskStatusEnum.Line_Executing;
+ }
+ }
+ else
+ {
+ throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
+ }
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+ BaseDal.UpdateData(task);
+ //UpdateTask(task, nextStatus);
+ content = WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error(ex.Message);
+ }
+ return content;
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
index 4224dae..4378df0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs"
@@ -27,14 +27,49 @@
{
public class ConveyorLineTaskCommand : DeviceCommand
{
- public ushort InteractiveSignal { get; set; }
-
- [DataLength(25)]
- public string Barcode { get; set; }
-
- public int TargetAddress { get; set; }
-
+ // <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
public int TaskNum { get; set; }
+ /// <summary>
+ /// 鐩爣绔欏彴
+ /// </summary>
+ public short TargetAddress { get; set; }
+ /// <summary>
+ /// 閲嶉噺
+ /// </summary>
+ public short Weight { get; set; }
+ /// <summary>
+ /// 骞呭
+ /// </summary>
+ public short Width { get; set; }
+ /// <summary>
+ /// 鐩村緞/楂樺害
+ /// </summary>
+ public short Height { get; set; }
+
+ /// <summary>
+ /// 鐢宠<br/>
+ /// 86涓虹敵璇�
+ /// </summary>
+ public short InteractiveSignal { get; set; }
+
+ /// <summary>
+ /// 鐢宠鍙嶉 86鎴愬姛
+ /// </summary>
+ public short ResponState { get; set; }
+
+ private string _barcode;
+ /// <summary>
+ /// 鏉$爜
+ /// </summary>
+ /// <summary>
+ [DataLength(40)]
+ public string Barcode
+ {
+ get { return _barcode; }
+ set { _barcode = value.Replace("\0", "").Replace("\\0", ""); }
+ }
}
public class R_ConveyorLineCPInfo : DeviceCommand
{
@@ -417,4 +452,17 @@
/// </summary>
public int C_InTaskNum { get; set; }
}
+
+
+ public class ConveyorLineTaskCommandWrite : DeviceCommand
+ {
+ public ushort ResponState { get; set; }
+
+ [DataLength(25)]
+ public string Barcode { get; set; }
+
+ public short TargetAddress { get; set; }
+
+ public short TaskNum { get; set; }
+ }
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_CLineYLDBName.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_CLineYLDBName.cs"
index 2b723a7..82fc447 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_CLineYLDBName.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/W_CLineYLDBName.cs"
@@ -44,4 +44,40 @@
/// </summary>
WR_TMID
}
+
+ public enum ConveyorLineDBName
+ {
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ TaskNum,
+ /// <summary>
+ /// 鐩爣绔欏彴
+ /// </summary>
+ TargetAddress,
+ /// <summary>
+ /// 閲嶉噺
+ /// </summary>
+ Weight,
+ /// <summary>
+ /// 骞呭
+ /// </summary>
+ Width,
+ /// <summary>
+ /// 鐩村緞/楂樺害
+ /// </summary>
+ Height,
+ /// <summary>
+ /// 鐢宠
+ /// </summary>
+ InteractiveSignal,
+ /// <summary>
+ /// 鐢宠鍙嶉 86鎴愬姛
+ /// </summary>
+ ResponState,
+ /// <summary>
+ /// 鏉$爜
+ /// </summary>
+ Barcode
+ }
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskCommand.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskCommand.cs"
index b886417..e4637f4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskCommand.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskCommand.cs"
@@ -65,6 +65,59 @@
/// 浣滀笟绫诲瀷
/// </summary>
public short WorkType { get; set; }
+
+
+ #endregion <Public Menber>
+ }
+
+ public class YLStackerCraneTaskCommand : DeviceCommand
+ {
+ #region <Public Menber>
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public int TaskNum { get; set; }
+ /// <summary>
+ /// 璧峰琛�
+ /// </summary>
+ public short StartRow { get; set; }
+
+ /// <summary>
+ /// 璧峰鍒�
+ /// </summary>
+ public short StartColumn { get; set; }
+
+ /// <summary>
+ /// 璧峰灞�
+ /// </summary>
+ public short StartLayer { get; set; }
+
+ /// <summary>
+ /// 鐩爣琛�
+ /// </summary>
+ public short EndRow { get; set; }
+
+ /// <summary>
+ /// 鐩爣鍒�
+ /// </summary>
+ public short EndColumn { get; set; }
+
+ /// <summary>
+ /// 鐩爣灞�
+ /// </summary>
+ public short EndLayer { get; set; }
+ /// <summary>
+ /// 浣滀笟绫诲瀷
+ /// </summary>
+ public short WorkType { get; set; }
+
+ /// <summary>
+ /// 鎵樼洏绫诲瀷
+ /// </summary>
+ public short PalletType { get; set; }
+
+
+
#endregion <Public Menber>
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL2ndFloor.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL2ndFloor.cs"
index d8e3192..ce6d409 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL2ndFloor.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/ConveyorLineJob_YL2ndFloor.cs"
@@ -1,16 +1,21 @@
-锘縰sing Microsoft.AspNetCore.Components.Routing;
+锘縰sing Autofac.Core;
+using AutoMapper;
+using Microsoft.AspNetCore.Components.Routing;
using Newtonsoft.Json;
using Quartz;
using SqlSugar.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Communicator;
using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core.HttpContextUser;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
@@ -26,65 +31,156 @@
namespace WIDESEAWCS_Tasks
{
[DisallowConcurrentExecution]
- public class ConveyorLineJob_YL2ndFloor : JobBase, IJob
+ public partial class ConveyorLineJob_YL2ndFloor : JobBase, IJob
{
- private readonly ICacheService _cacheService;
private readonly ITaskService _taskService;
+ private readonly IMapper _mapper;
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
private readonly ITaskRepository _taskRepository;
- private readonly IStationMangerRepository _stationMangerRepository;
private readonly IRouterRepository _routerRepository;
- private readonly IRouterService _routerService;
- private readonly IRouterExtension _routerExtension;
- private readonly List<Dt_WarehouseDevice> warehouseDevices;
+ private readonly IStationMangerRepository _stationMangerRepository;
- public ConveyorLineJob_YL2ndFloor(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
+ public ConveyorLineJob_YL2ndFloor(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository,IMapper mapper, IRouterRepository routerRepository)
{
- _cacheService = cacheService;
_taskService = taskService;
_taskExecuteDetailService = taskExecuteDetailService;
_taskRepository = taskRepository;
_stationMangerRepository = stationMangerRepository;
+ _mapper = mapper;
_routerRepository = routerRepository;
- _routerService = routerService;
- _routerExtension = routerExtension;
-
- string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
- if (!string.IsNullOrEmpty(warehouseDevicesStr))
- {
- warehouseDevices = JsonConvert.DeserializeObject<List<Dt_WarehouseDevice>>(warehouseDevicesStr) ?? new List<Dt_WarehouseDevice>();
- }
- else
- {
- warehouseDevices = new List<Dt_WarehouseDevice>();
- }
}
public Task Execute(IJobExecutionContext context)
{
- bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
- if (flag && value != null)
+ try
{
- OtherDevice device = (OtherDevice)value;
- List<string> deviceStations = device.DeviceProDTOs.Select(x => x.DeviceChildCode).ToList();
- //鑾峰彇鏈夊崗璁殑杈撻�佺嚎-z
- List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
- //璁╂瘡涓緭閫佺嚎鍚姩-z
- foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode)))
+ CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
+ if (conveyorLine != null)
{
- DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
- DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
- if (deviceProRead != null)
+ #region 绔欏彴鏂瑰紡
+
+ List<Dt_StationManger> stationManagers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == conveyorLine.DeviceCode);
+
+ foreach (var station in stationManagers)
{
-
+ ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.StationCode);
+
+ DeviceProtocolDetailDTO? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal) && x.ProtocalDetailValue == command.InteractiveSignal.ToString());
+ if (deviceProtocolDetails != null)
+ {
+ MethodInfo? method = GetType().GetMethod(deviceProtocolDetails.ProtocolDetailType);
+ if (method != null)
+ {
+ method.Invoke(this, new object[] { conveyorLine, command, station });
+ }
+ }
}
- else
- {
- WriteError(item.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{item.StationCode}鐨勫崗璁俊鎭�");
- }
+ #endregion 绔欏彴鏂瑰紡
}
}
+ catch (Exception ex)
+ {
+ Console.Out.WriteLine(nameof(ConveyorLineJob_YL2ndFloor) + ":" + DateTime.Now + ":" + ex.ToString(), ex.StackTrace);
+ }
+ finally
+ {
+ }
return Task.CompletedTask;
}
+
+ /// <summary>
+ /// 杈撻�佺嚎璇锋眰鍏ュ簱
+ /// </summary>
+ /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
+ /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
+ /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
+ /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
+ public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManger stationManger)
+ {
+ try
+ {
+
+ var task = _taskService.QueryLineExecuteTaskByBarcode(command.TaskNum, stationManger.StationCode);
+ var log = $"鏃堕棿锛氥�恵DateTime.Now}銆戙�恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.Barcode}銆戜换鍔″彿锛氥�恵command.TaskNum}銆戣澶囩紪鐮侊細銆恵stationManger.StationCode}銆�";
+ ConsoleHelper.WriteSuccessLine(log);
+
+ WriteInfo(conveyorLine.DeviceName, log);
+
+ if(task != null)
+ {
+ ConveyorLineTaskCommandWrite taskCommand = _mapper.Map<ConveyorLineTaskCommandWrite>(task);
+
+ bool sendFlag = SendCommand(taskCommand, conveyorLine, stationManger.StationCode);
+ if (sendFlag)
+ {
+ _taskService.UpdateTaskStatusToNext(task, stationManger);
+ }
+ }
+ else
+ {
+ HandleNewTask(conveyorLine, command, stationManger);
+ }
+
+ }
+ catch (Exception ex)
+ {
+ Console.Out.WriteLine(ex.ToString());
+ }
+ }
+
+ /// <summary>
+ /// 杈撻�佺嚎鍏ュ簱瀹屾垚
+ /// </summary>
+ /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
+ /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
+ /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
+ /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
+ public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManger stationManger)
+ {
+ var task = _taskService.QueryExecutingTaskByBarcode(command.TaskNum, stationManger.StationCode);
+ if (task != null && task.TaskState != (int)TaskStatusEnum.Line_Finish)
+ {
+ WebResponseContent content = _taskService.UpdateTaskStatusToNext(task, stationManger);
+
+ if (content.Status)
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.ResponState, 86, stationManger.StationCode);
+ }
+ Console.Out.WriteLine(content.Serialize());
+ }
+ }
+
+ public bool SendCommand(ConveyorLineTaskCommandWrite taskCommand, CommonConveyorLine conveyorLine, string childDeviceCode)
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.TaskNum, taskCommand.TaskNum, childDeviceCode);
+ conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskCommand.TargetAddress, childDeviceCode);
+ conveyorLine.SetValue(ConveyorLineDBName.ResponState, 86, childDeviceCode);
+
+ for (int i = 0; i < 6; i++)
+ {
+ ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
+ if (command != null)
+ {
+ if ( command.TaskNum == taskCommand.TaskNum && command.TargetAddress == taskCommand.TargetAddress)
+ {
+ WriteInfo(conveyorLine.DeviceName, $"鏃堕棿锛氥�恵DateTime.Now}銆戝啓鍏ヤ换鍔℃垚鍔熷啓鍏ユ鏁皗i}鍐欏叆浠诲姟銆恵JsonConvert.SerializeObject(taskCommand)}銆�");
+ return true;
+ }
+ if (command.TaskNum != taskCommand.TaskNum)
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.TaskNum, taskCommand.TaskNum, childDeviceCode);
+ Thread.Sleep(100);
+ }
+ if (command.TargetAddress != taskCommand.TargetAddress)
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.TargetAddress, taskCommand.TargetAddress, childDeviceCode);
+ Thread.Sleep(100);
+ }
+ }
+ conveyorLine.SetValue(ConveyorLineDBName.ResponState, 86, childDeviceCode);
+ }
+ WriteInfo(conveyorLine.DeviceName, $"鏃堕棿锛氥�恵DateTime.Now}銆戝啓鍏ヤ换鍔℃垚鍔熶换鍔″彿銆恵taskCommand.TaskNum}銆戞墭鐩樺彿銆恵taskCommand.Barcode}銆戠洰鏍囧湴鍧�銆恵taskCommand.TargetAddress}銆戝綋鍓嶈妭鐐广�恵childDeviceCode}銆�");
+ return false;
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs"
index 9198d93..63302b8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/StackerCraneJob_YLSC3.cs"
@@ -1,12 +1,375 @@
-锘縰sing System;
+锘縰sing Microsoft.AspNetCore.Components.Routing;
+using Quartz;
+using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core.Enums;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
+using WIDESEAWCS_Tasks.StackerCraneJob;
+using WIDESEAWCS_Tasks;
+using WIDESEAWCS_Core;
+using SqlSugar.Extensions;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+using WIDESEAWCS_QuartzJob.Repository;
-namespace WIDESEAWCS_Tasks.鍘熸枡搴�
+namespace WIDESEAWCS_Tasks
{
- internal class StackerCraneJob_YLSC3
+
+ [DisallowConcurrentExecution]
+ public class StackerCraneJob_YLSC3 : JobBase, IJob
{
+ private readonly ITaskService _taskService;
+ private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly ITaskRepository _taskRepository;
+ private readonly IRouterService _routerService;
+ private readonly IRouterRepository _routerRepository;
+ private readonly IStationMangerRepository _stationMangerRepository;
+
+ public StackerCraneJob_YLSC3(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository)
+ {
+ _taskService = taskService;
+ _taskExecuteDetailService = taskExecuteDetailService;
+ _taskRepository = taskRepository;
+ _routerService = routerService;
+ _stationMangerRepository = stationMangerRepository;
+ _routerRepository = routerRepository;
+ }
+
+ public Task Execute(IJobExecutionContext context)
+ {
+ try
+ {
+ CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
+ if (commonStackerCrane != null)
+ {
+ if (!commonStackerCrane.IsEventSubscribed)
+ {
+ commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢
+ }
+ commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆�
+ if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal && commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
+ {
+ short stackerError = commonStackerCrane.Communicator.Read<short>("DB1000.54.0");
+ if (stackerError == 0)
+ {
+ Dt_Task? task = GetTask(commonStackerCrane);
+ if (task != null)
+ {
+ YLStackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
+ if (stackerCraneTaskCommand != null)
+ {
+ bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
+ if (sendFlag)
+ {
+ commonStackerCrane.LastTaskType = task.TaskType;
+ task.Dispatchertime = DateTime.Now;
+ task.ExceptionMessage = "";
+ _taskService.UpdateTask(task, TaskStatusEnum.SC_Executing);
+ commonStackerCrane.Communicator.Write("DB1000.20.0", true);
+ //寤舵椂1s
+ Thread.Sleep(1000);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ WriteError(nameof(StackerCraneJob_CP), ex.Message, ex);
+ }
+ return Task.CompletedTask;
+ }
+
+ /// <summary>
+ /// 浠诲姟瀹屾垚浜嬩欢璁㈤槄鐨勬柟娉�
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e)
+ {
+ CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane;
+ if (commonStackerCrane != null)
+ {
+ if (!commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.WriteFinish))
+ {
+ if (StackerCraneTaskCompleted(e.TaskNum, commonStackerCrane.DeviceCode).Status)
+ {
+ commonStackerCrane.SetValue(StackerCraneDBName.WriteFinish, true);
+ }
+ }
+ }
+ }
+ public WebResponseContent StackerCraneTaskCompleted(int taskNum, string deviceCode)
+ {
+ try
+ {
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum && x.TaskState == TaskStatusEnum.SC_Executing.ObjToInt());
+ if (task != null)
+ {
+ if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ {
+ Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StackerCraneStationCode == task.NextAddress && x.StackerCraneCode == deviceCode);
+ if (stationManger == null)
+ {
+ _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+ _taskService.UpdateTaskExceptionMessage(taskNum, $"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+ return WebResponseContent.Instance.Error($"杈撻�佺嚎鍑哄簱绔欑偣鏈厤缃�,{task.NextAddress}");
+ }
+ Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == stationManger.StationCode && x.ChildPosi == stationManger.StationDeviceCode);
+ if (router == null)
+ {
+ _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
+ WriteError(deviceCode, $"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
+ return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
+ }
+ int oldStatus = task.TaskState;
+ // 鍫嗗灈鏈哄畬鎴�
+ _taskService.UpdateTask(task, TaskStatusEnum.Line_Execute, deviceCode: stationManger.StationDeviceCode, currentAddress: stationManger.StationCode, nextAddress: router.NextPosi);
+ _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"绯荤粺鑷姩娴佺▼,浠诲姟鐘舵�佷粠銆恵oldStatus}銆戣浆鍒般�恵task.TaskState}銆�");
+ WriteInfo(deviceCode, $"鍫嗗灈鏈哄嚭搴撲换鍔″畬鎴�,浠诲姟鍙�:{taskNum}");
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup || task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+ {
+ WriteInfo(deviceCode, $"鍫嗗灈鏈轰换鍔″畬鎴�,浠诲姟鍙�:{taskNum}");
+ _taskService.TaskCompleted(taskNum);
+ }
+ else
+ {
+ WriteInfo(deviceCode, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+ _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+ _taskService.UpdateTaskExceptionMessage(taskNum, $"鏈壘鍒拌浠诲姟绫诲瀷鍥炶皟WMS浠诲姟瀹屾垚鎺ュ彛,{task.TaskType}");
+ }
+ }
+ else
+ {
+ WriteInfo(deviceCode, $"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+ return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+ }
+
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ WriteError(deviceCode, $"浠诲姟瀹屾垚閿欒", ex);
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+
+ /// <summary>
+ /// 鑾峰彇浠诲姟
+ /// </summary>
+ /// <param name="commonStackerCrane">鍫嗗灈鏈哄璞�</param>
+ /// <returns></returns>
+ private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane)
+ {
+ Dt_Task? task;
+ if (commonStackerCrane.LastTaskType == null)
+ {
+ task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
+ }
+ else
+ {
+ if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ {
+ //涓婁竴涓负鍑哄簱鍒欐煡鏄惁瀛樺湪鍏ュ簱浠诲姟 浜ゆ浛鎵ц
+ task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+ if (task == null)
+ {
+ task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
+ }
+ }
+ else
+ {
+ //涓婁竴涓负鍏ュ簱鍒欐煡鏄惁瀛樺湪鍑哄簱浠诲姟 浜ゆ浛鎵ц
+ task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
+ if (task == null)
+ {
+ task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+ }
+ }
+ }
+
+ if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ {
+ //鍒ゆ柇鍑哄簱绔欏彴鍗犵敤
+ if (OutTaskStationIsOccupied(task) == null)
+ {
+ bool flag = false;
+ List<string> otherOutStaionCodes = _routerService.QueryNextRoutes(commonStackerCrane.DeviceCode, task.NextAddress, task.TaskType).Select(x => x.ChildPosi).ToList();
+ List<Dt_Task> tasks = _taskService.QueryStackerCraneOutTasks(commonStackerCrane.DeviceCode, otherOutStaionCodes);
+ foreach (var item in tasks)
+ {
+ if (OutTaskStationIsOccupied(task) != null)
+ {
+ flag = true;
+ break;
+ }
+ }
+ if (!flag)
+ {
+ task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
+ }
+ }
+ }
+ if (task == null)
+ {
+ task = _taskService.QuertStackerCraneTask(commonStackerCrane.DeviceCode, TaskTypeGroup.RelocationGroup);
+ }
+
+ return task;
+ }
+
+ /// <summary>
+ /// 鍑哄簱浠诲姟鍒ゆ柇鍑哄簱绔欏彴鏄惁琚崰鐢�
+ /// </summary>
+ /// <param name="task">浠诲姟瀹炰綋</param>
+ /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
+ private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
+ {
+ Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == task.DeviceCode);
+ if (stationManger != null)
+ {
+ IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
+ if (device != null)
+ {
+ OtherDevice client = (OtherDevice)device;
+ if (client.GetValue<WR_CLineYLDB, short>(WR_CLineYLDB.WR_Request, stationManger.StationCode) != 99)//鍑哄簱绔欏彴鏈鍗犵敤
+ {
+ task.NextAddress = stationManger.StackerCraneStationCode;
+ _taskRepository.UpdateData(task);
+ return task;
+ }
+ }
+ else
+ {
+ WriteInfo(task.DeviceCode, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵stationManger.StationDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
+ }
+ }
+ else
+ {
+ WriteInfo(task.DeviceCode, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
+ }
+ return null;
+ }
+
+ /// <summary>
+ /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
+ /// </summary>
+ /// <param name="task">浠诲姟瀹炰綋</param>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public YLStackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task)
+ {
+ YLStackerCraneTaskCommand stackerCraneTaskCommand = new YLStackerCraneTaskCommand();
+
+ stackerCraneTaskCommand.TaskNum = task.TaskNum;
+ stackerCraneTaskCommand.WorkType = 5;
+ stackerCraneTaskCommand.PalletType = Convert.ToInt16(task.PalletType);
+ if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
+ {
+
+ string[] startCodes = task.CurrentAddress.Split("-");
+ if (startCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]);
+ stackerCraneTaskCommand.StartColumn = Convert.ToInt16(startCodes[1]);
+ stackerCraneTaskCommand.StartLayer = Convert.ToInt16(startCodes[2]);
+ }
+ else
+ {
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+ return null;
+ }
+ string[] targetCodes = task.NextAddress.Split("-");
+ if (targetCodes.Length == 5)
+ {
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+ stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+ }
+ else
+ {
+ //鏁版嵁閰嶇疆閿欒
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
+ return null;
+ }
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)//鍒ゆ柇鏄惁鏄嚭搴撲换鍔�
+ {
+ string[] targetCodes = task.NextAddress.Split("-");
+ if (targetCodes.Length == 3)
+ {
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+ stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+ }
+ else
+ {
+ //鏁版嵁閰嶇疆閿欒
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟涓嬩竴鍦板潃鐐归敊璇紝璧风偣锛氥�恵task.NextAddress}銆�");
+ return null;
+ }
+ string[] sourceCodes = task.CurrentAddress.Split("-");
+ if (sourceCodes.Length == 5)
+ {
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
+ stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
+ stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
+ }
+ else
+ {
+ //鏁版嵁閰嶇疆閿欒
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+ return null;
+ }
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)//鍒ゆ柇鏄惁鏄Щ搴撲换鍔�
+ {
+ string[] targetCodes = task.NextAddress.Split("-");
+ if (targetCodes.Length == 5)
+ {
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+ stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
+ }
+ else
+ {
+ //鏁版嵁閰嶇疆閿欒
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�");
+ return null;
+ }
+ string[] sourceCodes = task.CurrentAddress.Split("-");
+ if (sourceCodes.Length == 5)
+ {
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+ stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+ stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
+ }
+ else
+ {
+ //鏁版嵁閰嶇疆閿欒
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+ return null;
+ }
+ }
+ return stackerCraneTaskCommand;
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/Task/RequestInbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/Task/RequestInbound.cs"
new file mode 100644
index 0000000..dc19f86
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\345\216\237\346\226\231\345\272\223/Task/RequestInbound.cs"
@@ -0,0 +1,80 @@
+锘縰sing Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.Models;
+using WIDESEAWCS_Tasks.ConveyorLineJob;
+
+namespace WIDESEAWCS_Tasks
+{
+ public partial class ConveyorLineJob_YL2ndFloor
+ {
+ /// <summary>
+ /// 澶勭悊鏂颁换鍔�
+ /// </summary>
+ private void HandleNewTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManger stationManger)
+ {
+ switch (stationManger.StationType)
+ {
+ case 1:
+ RequestWmsRoadwayNo(conveyorLine, command, stationManger);
+ break;
+ case 21:
+ ConveyorLineInFinish(conveyorLine, command, stationManger);
+ break;
+ }
+
+ }
+
+ /// <summary>
+ /// 璇锋眰WMS浠诲姟
+ /// </summary>
+ private void RequestWmsRoadwayNo(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManger stationManager)
+ {
+ try
+ {
+ if (command.Barcode.IsNullOrEmpty()) return;
+
+ var AGVFinishTask = _taskService.QueryBarCodeAGVFinishTask(command.TaskNum, stationManager.StationCode);
+ if (AGVFinishTask == null)
+ {
+ var log = $"鏃堕棿锛氥�恵DateTime.Now}銆戙�恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.Barcode}銆戜换鍔″彿锛氥�恵command.TaskNum}銆戣澶囩紪鐮侊細銆恵stationManager.StationCode}銆戙�愭湭鎵惧埌浠诲姟銆�";
+ ConsoleHelper.WriteSuccessLine(log);
+
+ WriteInfo(conveyorLine.DeviceName, log);
+ return;
+ }
+ WebResponseContent content = _taskService.UpdateTaskStatusToNext(AGVFinishTask, stationManager);
+
+ if (content.Status)
+ {
+ var ExecuteTask = _taskService.QueryLineExecuteTaskByBarcode(command.TaskNum, stationManager.StationCode);
+ if (ExecuteTask != null)
+ {
+ ConveyorLineTaskCommandWrite taskCommand = _mapper.Map<ConveyorLineTaskCommandWrite>(ExecuteTask);
+ bool sendFlag = SendCommand(taskCommand, conveyorLine, stationManager.StationCode);
+ if (sendFlag)
+ {
+ //_taskService.UpdateTask(task, TaskStatusEnum.Line_Executing);
+ _taskService.UpdateTaskStatusToNext(ExecuteTask, stationManager);
+ }
+ }
+ }
+ else
+ {
+ WriteInfo(conveyorLine.DeviceName, content.Message);
+ }
+ }
+ catch (Exception ex)
+ {
+ WriteInfo(conveyorLine.DeviceName, $"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.Barcode}銆戣姹傜偣浣嶏細銆恵stationManager.StationCode}銆戝紓甯镐俊鎭�恵ex.Message}銆戝紓甯歌銆恵ex.StackTrace}銆�");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db"
new file mode 100644
index 0000000..0a647bd
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-shm"
new file mode 100644
index 0000000..692cb95
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-wal"
new file mode 100644
index 0000000..8257b97
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db"
new file mode 100644
index 0000000..9cc2d8c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm"
new file mode 100644
index 0000000..febe24d
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal"
new file mode 100644
index 0000000..e1971a2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs"
index a52ade1..56b4bb9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs"
@@ -94,6 +94,12 @@
OutWFB = 320,
/// <summary>
+ /// 鏃犵汉甯冨埗琚嬩緵鏂�
+ /// </summary>
+ [Description("鏃犵汉甯冨埗琚嬩緵鏂�")]
+ OutWFBGL = 330,
+
+ /// <summary>
/// 閲囪喘鍏ュ簱
/// </summary>
[Description("閲囪喘鍏ュ簱")]
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\345\216\237\346\226\231\345\272\223\350\276\223\351\200\201\347\272\277\351\200\232\350\256\257\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\345\216\237\346\226\231\345\272\223\350\276\223\351\200\201\347\272\277\351\200\232\350\256\257\345\215\217\350\256\256.xlsx"
index 7313fdd..c33b99a 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\345\216\237\346\226\231\345\272\223\350\276\223\351\200\201\347\272\277\351\200\232\350\256\257\345\215\217\350\256\256.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\345\216\237\346\226\231\345\272\223\350\276\223\351\200\201\347\272\277\351\200\232\350\256\257\345\215\217\350\256\256.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227\350\256\276\345\244\207\351\200\232\350\256\257\345\215\217\350\256\256.xls" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227\350\256\276\345\244\207\351\200\232\350\256\257\345\215\217\350\256\256.xls"
index 8eebf4b..fb78cd0 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227\350\256\276\345\244\207\351\200\232\350\256\257\345\215\217\350\256\256.xls"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227\350\256\276\345\244\207\351\200\232\350\256\257\345\215\217\350\256\256.xls"
Binary files differ
--
Gitblit v1.9.3