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