From d5fe80c5cb7dc0b209d8fea9faa84c7ca5b20324 Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期五, 16 一月 2026 16:07:18 +0800
Subject: [PATCH] 出入库移库完成
---
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal | 0
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json | 120 +-----
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 236 ++++++++---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs | 46 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs | 8
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 9
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskStatusEnum.cs | 44 ++
项目资料/蓝图文件/鹰美智能工厂立体库项目软件系统蓝图 V6.0.docm | 0
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs | 10
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db | 0
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm | 0
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs | 6
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs | 365 +++++++++++++++++++
/dev/null | 28 -
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json | 10
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db | 0
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs | 34
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal | 0
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/WCSTaskController.cs | 2
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs | 67 ++-
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm | 0
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json | 114 +----
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs | 5
23 files changed, 759 insertions(+), 345 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db"
index 5b1a90c..aedb6c0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm"
index 90f4c6d..54914d4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal"
index caa109d..f571c20 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db"
index a8af0f7..f255e55 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm"
index d43aee1..dc23ab7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal"
index e315a68..e137977 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
index 3aff31d..74b86a6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
@@ -3,36 +3,20 @@
"WorkspaceRootPath": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
"AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\task\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\task\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -47,106 +31,52 @@
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "MESTaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\MESTaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\MESTaskService.cs",
- "ViewState": "AgIAAKsAAAAAAAAAAAAIwLkAAABvAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T04:46:32.724Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 1,
"Title": "TaskService.cs",
"DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
"RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
"RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAAFoAAAAAAAAAAAA1wGkAAAAxAAAAAAAAAA==",
+ "ViewState": "AgIAACsAAAAAAAAAAAAUwEQAAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:43:08.208Z",
+ "WhenOpened": "2026-01-15T09:34:50.06Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 2,
- "Title": "ITaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
- "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
- "ViewState": "AgIAAC0AAAAAAAAAAAAIwEAAAAAiAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:41:47.98Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 5,
+ "DocumentIndex": 1,
"Title": "WCSTaskService.cs",
"DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
"RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
"RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "ViewState": "AgIAABMAAAAAAAAAAAAewDQAAAAaAAAAAAAAAA==",
+ "ViewState": "AgIAABcAAAAAAAAAAAAmwDQAAAAnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:33:32.644Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 6,
- "Title": "WCSTaskController.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "ViewState": "AgIAAAYAAAAAAAAAAAAawCQAAAAJAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:33:19.137Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "WCStask.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Task\\WCStask.cs",
- "RelativeDocumentMoniker": "WIDESEA_DTO\\Task\\WCStask.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Task\\WCStask.cs",
- "RelativeToolTip": "WIDESEA_DTO\\Task\\WCStask.cs",
- "ViewState": "AgIAAAYAAAAAAAAAAADwvxUAAAAXAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:30:03.161Z",
+ "WhenOpened": "2026-01-15T09:33:49.567Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
- "Title": "appsettings.json",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
- "ViewState": "AgIAAAYAAAAAAAAAAADwvx0AAABBAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2026-01-15T03:14:10.484Z",
- "EditorCaption": ""
+ "Title": "MESTaskService.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\MESTaskService.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\MESTaskService.cs",
+ "ViewState": "AgIAAIEAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-15T08:12:36.935Z"
},
{
"$type": "Document",
- "DocumentIndex": 7,
- "Title": "TaskController.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ViewState": "AgIAAAYAAAAAAAAAAAAAAB0AAAAJAAAAAAAAAA==",
+ "DocumentIndex": 2,
+ "Title": "PartialTaskService_Outbound.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:03:40.066Z",
- "EditorCaption": ""
+ "WhenOpened": "2026-01-15T08:12:32.509Z"
}
]
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
index e405a35..119d679 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
@@ -3,36 +3,24 @@
"WorkspaceRootPath": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\task\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\task\\wcstask.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
"AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -47,14 +35,14 @@
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "MESTaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\MESTaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\MESTaskService.cs",
- "ViewState": "AgIAAK4AAAAAAAAAAAAIwLoAAACWAAAAAAAAAA==",
+ "Title": "WMSCruJob.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "ViewState": "AgIAACIAAAAAAAAAAAAmwCQAAABAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T04:46:32.724Z",
+ "WhenOpened": "2026-01-16T02:59:40.766Z",
"EditorCaption": ""
},
{
@@ -65,87 +53,47 @@
"RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
"RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAAFoAAAAAAAAAAAA1wGkAAAAxAAAAAAAAAA==",
+ "ViewState": "AgIAAC4AAAAAAAAAAAAUwDgAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:43:08.208Z",
+ "WhenOpened": "2026-01-15T09:34:50.06Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
- "Title": "ITaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
- "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
- "ViewState": "AgIAAC0AAAAAAAAAAAAIwEAAAAAiAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:41:47.98Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 5,
"Title": "WCSTaskService.cs",
"DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
"RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
"RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "ViewState": "AgIAABMAAAAAAAAAAAAewDQAAAAaAAAAAAAAAA==",
+ "ViewState": "AgIAACAAAAAAAAAAAAAmwDQAAAAaAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:33:32.644Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 6,
- "Title": "WCSTaskController.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "ViewState": "AgIAAAYAAAAAAAAAAAAawCQAAAAJAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:33:19.137Z",
+ "WhenOpened": "2026-01-15T09:33:49.567Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
- "Title": "WCStask.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Task\\WCStask.cs",
- "RelativeDocumentMoniker": "WIDESEA_DTO\\Task\\WCStask.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Task\\WCStask.cs",
- "RelativeToolTip": "WIDESEA_DTO\\Task\\WCStask.cs",
- "ViewState": "AgIAAAYAAAAAAAAAAADwvxUAAAAXAAAAAAAAAA==",
+ "Title": "MESTaskService.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\MESTaskService.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\MESTaskService.cs",
+ "ViewState": "AgIAAIEAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:30:03.161Z",
- "EditorCaption": ""
+ "WhenOpened": "2026-01-15T08:12:36.935Z"
},
{
"$type": "Document",
"DocumentIndex": 3,
- "Title": "appsettings.json",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
- "ViewState": "AgIAAAYAAAAAAAAAAADwvx0AAABBAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2026-01-15T03:14:10.484Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 7,
- "Title": "TaskController.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ViewState": "AgIAAAYAAAAAAAAAAAAAAB0AAAAJAAAAAAAAAA==",
+ "Title": "PartialTaskService_Outbound.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-15T03:03:40.066Z",
+ "WhenOpened": "2026-01-15T08:12:32.509Z",
"EditorCaption": ""
}
]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
index abe2c87..ba0f151 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
@@ -1,4 +1,5 @@
锘縰sing HslCommunication.WebSocket;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using SqlSugar;
@@ -10,6 +11,7 @@
using WIDESEA_Common.CommonEnum;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Common.StockEnum;
+using WIDESEA_Common.WareHouseEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
@@ -156,24 +158,40 @@
return WebResponseContent.Instance.Error(ex.Message);
}
}
-
-
+
+
public string AccessingTunnel(int WarehouseId, int LocationType)
{
List<Dt_LocationInfo> locationData = BaseDal.QueryData(x => x.WarehouseId == WarehouseId);
- var roadwayGroups = locationData
- .Where(x => x.LocationType == LocationType)
- .GroupBy(x => x.RoadwayNo)
- .Select(g => new
- {
- RoadwayNo = g.Key,
- LocationCount = g.Count(),
- AllLocations = g.ToList()
- })
- .OrderByDescending(g => g.LocationCount) // 鏀逛负闄嶅簭鎺掑簭
- .FirstOrDefault(); // 鍙栫涓�涓紙鏁伴噺鏈�澶氱殑锛�
+ var roadwayGroups = locationData.Where(x => x.LocationType == LocationType).GroupBy(x => x.RoadwayNo)
+ .Select(g => new
+ {
+ RoadwayNo = g.Key,
+ LocationCount = g.Count(),
+ }).OrderByDescending(g => g.LocationCount).ToList();
- return roadwayGroups.RoadwayNo;
+ int minRequired = 15;
+ if(WarehouseId== (int)WarehouseEnum.YMYL)
+ {
+ if (LocationType == 2) minRequired = 6;
+
+ var selectedRoadway = roadwayGroups.FirstOrDefault(g => g.LocationCount >= minRequired);
+ return selectedRoadway.RoadwayNo;
+ }
+ else
+ {
+ var selectedRoadway = roadwayGroups.FirstOrDefault(g => g.LocationCount >= minRequired);
+ if(selectedRoadway != null)
+ {
+ return selectedRoadway.RoadwayNo;
+
+ }
+ else
+ {
+ selectedRoadway = roadwayGroups.FirstOrDefault(g => g.RoadwayNo =="5" && g.LocationCount != 0);
+ }
+ return selectedRoadway.RoadwayNo;
+ }
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
index 3e7c7f8..6aa372a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Common/StockEnum/StockStatusEmun.cs"
@@ -40,4 +40,14 @@
[Description("绌烘墭")]
绌烘墭 = 3,
}
+
+ public enum OperateType
+ {
+ 浜哄伐鍒犻櫎 = 1,
+ 鑷姩鍒犻櫎 = 2,
+ 浜哄伐鎭㈠ = 3,
+ 鑷姩鎭㈠ = 4,
+ 浜哄伐瀹屾垚 = 5,
+ 鑷姩瀹屾垚 = 6,
+ }
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskStatusEnum.cs"
index 08711e7..ccd3f72 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskStatusEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskStatusEnum.cs"
@@ -1,7 +1,9 @@
锘縰sing System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
using System.Linq;
+using System.Reflection;
using System.Text;
using System.Threading.Tasks;
@@ -41,7 +43,7 @@
/// <summary>
/// 鍫嗗灈鏈哄叆搴撳畬鎴�
/// </summary>
- [Description("鍫嗗灈鏈哄嚭搴撳畬鎴�")]
+ [Description("鍫嗗灈鏈哄叆搴撳畬鎴�")]
SC_OutFinish = 245,
/// <summary>
@@ -147,4 +149,44 @@
}
#endregion
+ public enum MesOutTaskStatusEnum
+ {
+ /// <summary>
+ /// 鍑哄簱寮�濮�
+ /// </summary>
+ [Display(Name = "Start")]
+ 鍑哄簱寮�濮� = 1,
+
+ [Display(Name = "Outstore")]
+ 鍑哄簱瀹屾垚 = 2,
+
+ [Display(Name = "Finish")]
+ 鍒拌揪鐩殑鍦� = 3,
+
+ [Display(Name = "Error")]
+ 鎵ц澶辫触 = 4
+ }
+ public enum MesInTaskStatusEnum
+ {
+ /// <summary>
+ /// 鍏ュ簱寮�濮�
+ /// </summary>
+ [Display(Name = "Start")]
+ 鍏ュ簱寮�濮� = 1,
+
+ [Display(Name = "Finish")]
+ 鍏ュ簱瀹屾垚 = 2,
+
+ [Display(Name = "Error")]
+ 鎵ц澶辫触 = 3
+ }
+ public static class EnumExtensions
+ {
+ public static string GetDescription(this Enum value)
+ {
+ var field = value.GetType().GetField(value.ToString());
+ var attribute = field?.GetCustomAttribute<DescriptionAttribute>();
+ return attribute?.Description ?? value.ToString();
+ }
+ }
}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs"
index 9c6037c..58713a5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WCSTaskDTO.cs"
@@ -24,6 +24,11 @@
public string PalletCode { get; set; }
/// <summary>
+ /// 鎵樼洏绫诲瀷锛�1甯冨嵎 2鏉惧竷鍗凤紙鎴愬搧浠撳彧鏈�1锛夛級
+ /// </summary>
+ public int ContainerType { get; set; }
+
+ /// <summary>
/// wcs涓婃姤绫诲瀷(1-杈撻�佺嚎锛�2-鍫嗗灈鏈�)
/// </summary>
public int TaskType { get; set; }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
index cb7817f..e5c4308 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
@@ -142,5 +142,13 @@
[ExporterHeader(DisplayName = "澶囨敞")]
[SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")]
public string Remark { get; set; }
+
+ /// <summary>
+ /// 涓嬪彂娆℃暟
+ /// </summary>
+ [ImporterHeader(Name = "涓嬪彂娆℃暟")]
+ [ExporterHeader(DisplayName = "涓嬪彂娆℃暟")]
+ [SugarColumn(IsNullable = false, ColumnDescription = "涓嬪彂娆℃暟")]
+ public int NumberSsuances { get; set; }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
index f19a9d6..712c319 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
@@ -45,28 +45,41 @@
if (string.IsNullOrWhiteSpace(mES_In.endPosition)) return apiResponse.Error("鐩爣浣嶇疆涓嶈兘涓虹┖");
if (string.IsNullOrWhiteSpace(mES_In.containerType)) return apiResponse.Error("杞藉叿绫诲瀷涓嶈兘涓虹┖"); //杞藉叿绫诲瀷锛屽竷鏂�-1锛屾澗甯冨嵎-2锛屾垚鍝�-1
- Dt_Warehouse dt_Warehouse = _warehouseService.QueryWarehouse(mES_In.warehouseNo);
- if (dt_Warehouse == null) return apiResponse.Error($"WMS鏈兘鏌ヨ閬撳搴斾粨搴擄紝浠撳簱缂栫爜锛歿mES_In.warehouseNo}");
- int LocationType = 1;
- if (dt_Warehouse.WarehouseType == (int)WarehouseEnum.YMYL)
- {
- if (mES_In.containerType == "2") LocationType = 2;
- }
- else if (dt_Warehouse.WarehouseType == (int)WarehouseEnum.YMCP)
- {
- LocationType = 3;
- }
-
- string Roadway = _locationInfoService.AccessingTunnel(dt_Warehouse.WarehouseId, LocationType);
- if (Roadway == "") return apiResponse.Error($"WMS鏈兘鏌ヨ閬撳搴斿贩閬撶紪鍙凤紝浠撳簱缂栫爜锛歿mES_In.warehouseNo}");
-
- //鑾峰彇瀵瑰簲PLC绔欏彴淇℃伅
- Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(Roadway);
-
Dt_Task setask = BaseDal.QueryData(x => x.PalletCode == mES_In.containerNo).FirstOrDefault();
if (setask != null) return apiResponse.Error($"WMS宸叉湁褰撳墠浠诲姟锛屼笉鍙噸澶嶄笅鍙戯紝鎵樼洏缂栧彿锛歿mES_In.containerNo}");
+ Dt_Warehouse dt_Warehouse = _warehouseService.QueryWarehouse(mES_In.warehouseNo);
+ int LocationType = 1;
+ string Roadway = "0";
+ string SourceAddress = mES_In.startPosition;
+ string TargetAddress = "";
+ string CurrentAddress = mES_In.startPosition;
+ string NextAddress = "";
+ int WarehouseId = 0;
+
+ if (dt_Warehouse != null)
+ {
+ if (dt_Warehouse.WarehouseType == (int)WarehouseEnum.YMYL)
+ {
+ if (mES_In.containerType == "2") LocationType = 2;
+ }
+ else if (dt_Warehouse.WarehouseType == (int)WarehouseEnum.YMCP)
+ {
+ LocationType = 3;
+ }
+ Roadway = _locationInfoService.AccessingTunnel(dt_Warehouse.WarehouseId, LocationType);
+ if (Roadway == "0") return apiResponse.Error($"WMS鏈兘鏌ヨ閬撳搴斿贩閬撶紪鍙凤紝浠撳簱缂栫爜锛歿mES_In.warehouseNo}");
+ //鑾峰彇瀵瑰簲PLC绔欏彴淇℃伅
+ Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(Roadway);
+ NextAddress = _Roadwayinfo.InStationCode;
+ WarehouseId = dt_Warehouse.WarehouseId;
+ }
+ else
+ {
+ TargetAddress = mES_In.endPosition;
+ NextAddress = mES_In.endPosition;
+ }
Dt_Task task = new Dt_Task();
task.TaskNum = mES_In.transNo;
task.PalletCode = mES_In.containerNo;
@@ -74,27 +87,27 @@
task.Roadway = Roadway;
task.TaskType = (int)TaskTypeEnum.Inbound;
task.TaskStatus = (int)InTaskStatusEnum.InNew;
- task.SourceAddress = mES_In.startPosition;
- task.TargetAddress = "";
- task.CurrentAddress = mES_In.startPosition;
- task.NextAddress = _Roadwayinfo.InStationCode;
- task.WarehouseId = dt_Warehouse.WarehouseId;
+ task.SourceAddress = SourceAddress;
+ task.TargetAddress = TargetAddress;
+ task.CurrentAddress = CurrentAddress;
+ task.NextAddress = NextAddress;
+ task.WarehouseId = WarehouseId;
task.OrderNo = mES_In.transDate.ToString();
task.Grade = 1;
task.Creater = "MES";
task.CreateDate = DateTime.Now;
- Dt_StockInfo dt_StockInfo = new Dt_StockInfo();
+ /*Dt_StockInfo dt_StockInfo = new Dt_StockInfo();
dt_StockInfo.PalletCode = task.PalletCode;
dt_StockInfo.PalletType = task.PalletType;
dt_StockInfo.WarehouseId = task.WarehouseId;
dt_StockInfo.StockStatus = (int)StockStatusEmun.鍏ュ簱涓�;
dt_StockInfo.Creater = "MWS";
- dt_StockInfo.CreateDate = DateTime.Now;
+ dt_StockInfo.CreateDate = DateTime.Now;*/
_unitOfWorkManage.BeginTran();
BaseDal.AddData(task);
- _stockInfoService.Repository.AddData(dt_StockInfo);
+ //_stockInfoService.Repository.AddData(dt_StockInfo);
_unitOfWorkManage.CommitTran();
WriteLog.GetLog("鎺ユ敹MES鍏ュ簱浠诲姟涓嬪彂").Write($"鍙傛暟锛歿mES_In.containerNo}", $"鍏ュ簱浠诲姟娣诲姞鎴愬姛");
return apiResponse.OK();
@@ -300,6 +313,7 @@
mesInResult.ContainerNo = ContainerNo;
mesInResult.LocationCode = LocationCode;
mES_Parame = HttpHelper.Post<MES_parameter>(MES_InReporttask, mesInResult, "鍏ュ簱浠诲姟姹囨姤");
+ WriteLog.GetLog("鍏ュ簱浠诲姟鍙嶉鎺ュ彛").Write($"璁㈠崟缂栧彿锛歿TransNo}锛屾墽琛岀粨鏋滐細{Result}锛屾墽琛岀粨鏋滄弿杩帮細{ResultMsg}锛屾墭鐩樻潯鐮侊細{ContainerNo}锛屽簱浣嶇紪鍙凤細{LocationCode}锛屾帴鏀跺埌鐨勫洖鍙傦細{mesInResult.ToJson()}", $"浠诲姟涓婃姤淇℃伅");
return mES_Parame;
}
catch (Exception ex)
@@ -321,6 +335,7 @@
mesInResult.Result = Result;
mesInResult.ResultMsg = ResultMsg;
mES_Parame = HttpHelper.Post<MES_parameter>(MES_OutReporttask, mesInResult, "鍑哄簱浠诲姟姹囨姤");
+ WriteLog.GetLog("鍑哄簱浠诲姟鍙嶉鎺ュ彛").Write($"璁㈠崟缂栧彿锛歿TransNo}锛屾墽琛岀粨鏋滐細{Result}锛屾墽琛岀粨鏋滄弿杩帮細{ResultMsg}锛屾帴鏀跺埌鐨勫洖鍙傦細{mesInResult.ToJson()}", $"浠诲姟涓婃姤淇℃伅");
return mES_Parame;
}
catch (Exception ex)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
index 7a0dbe1..452afd2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
@@ -1,6 +1,7 @@
锘縰sing MailKit.Search;
using Microsoft.Extensions.Logging;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
+using Org.BouncyCastle.Math.EC;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -22,6 +23,7 @@
{
public partial class TaskService
{
+ //WCS鑾峰彇浠诲姟杩涜鍙嶉
public WebResponseContent PalletInboundTask(WCSTaskDTO wCSTask)
{
WebResponseContent webResponse = new WebResponseContent();
@@ -32,26 +34,26 @@
return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭紝鎵樼洏鏉$爜锛歿wCSTask.PalletCode}");
if (task.TaskStatus == (int)InTaskStatusEnum.InNew)
{
- //杩涜璋冨彇杈撻�佺嚎涓嬪彂浠诲姟
- WCSginseng WCS_Parame = PLC_IssueTasks(task.TaskId,int.Parse(task.Roadway),task.TaskNum,task.PalletCode, int.Parse(task.PalletType), wCSTask.FromPoint,task.NextAddress,"");
- if (WCS_Parame.IsSuccess)
+ task.TaskStatus = (int)InTaskStatusEnum.PLC_InExecuting;
+ MES_parameter mES_Parameter = InStoreDocCallback(task.TaskNum, "Start", "鎿嶄綔鎴愬姛", task.PalletCode, "");
+ if (mES_Parameter.Result == "Y")
{
- task.TaskStatus = (int)InTaskStatusEnum.PLC_InExecuting;
- MES_parameter mES_Parameter = InStoreDocCallback(task.TaskNum, "Start","鎿嶄綔鎴愬姛",task.PalletCode,"");
- if (mES_Parameter.Result == "Y")
- {
- //杩涜淇敼鏁版嵁搴�
- BaseDal.UpdateData(task);
- return webResponse.OK("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛");
- }
- else
- {
- return webResponse.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
- }
+ WCStask wcstaskinfo = new WCStask();
+ wcstaskinfo.TaskId = task.TaskId;
+ wcstaskinfo.AreaNo = int.Parse(task.Roadway);
+ wcstaskinfo.TransNo = task.TaskNum;
+ wcstaskinfo.ContainerNo = task.PalletCode;
+ wcstaskinfo.ContainerType = int.Parse(task.PalletType);
+ wcstaskinfo.FromPoint = wCSTask.FromPoint;
+ wcstaskinfo.ToPoint = task.NextAddress;
+ wcstaskinfo.ToStation = "";
+ //杩涜淇敼鏁版嵁搴�
+ BaseDal.UpdateData(task);
+ return webResponse.OK(data: task.ToJson());
}
else
{
- return webResponse.Error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛屽師鍥狅細" + WCS_Parame.Message);
+ return webResponse.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
}
}
else
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
deleted file mode 100644
index 1b2f7b2..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs"
+++ /dev/null
@@ -1,28 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEA_Core.Enums;
-using WIDESEA_Core;
-using WIDESEA_DTO.Stock;
-using WIDESEA_Model.Models;
-using WIDESEA_Core.Helper;
-using Microsoft.AspNetCore.Http;
-using System.Reflection.Metadata;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
-using System.Diagnostics;
-using Newtonsoft.Json;
-using System.Security.Policy;
-using static WIDESEA_ITaskInfoService.ITaskService;
-using MailKit.Search;
-using WIDESEA_Common.Log;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
-
-namespace WIDESEA_TaskInfoService
-{
- public partial class TaskService
- {
-
- }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index c48f46f..2e16a0f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -16,9 +16,14 @@
#endregion << 鐗� 鏈� 娉� 閲� >>
using AutoMapper;
+using Microsoft.Extensions.Logging;
+using Org.BouncyCastle.Math.EC;
using SqlSugar;
+using System.ComponentModel;
using System.Net;
using System.Reflection;
+using System.Reflection.Emit;
+using System.Threading.Tasks;
using WIDESEA_Common.LocationEnum;
using WIDESEA_Common.OtherEnum;
using WIDESEA_Common.StockEnum;
@@ -26,6 +31,7 @@
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Task;
@@ -41,13 +47,14 @@
{
public partial class TaskService : ServiceBase<Dt_Task, IRepository<Dt_Task>>, ITaskService
{
+ private readonly ILogger<TaskService> _logger;
private readonly IMapper _mapper;
private readonly IUnitOfWorkManage _unitOfWorkManage;
private readonly IStockInfoService _stockInfoService;
private readonly ILocationInfoService _locationInfoService;
private readonly IWarehouseService _warehouseService;
private readonly IRoadWayinfoService _roadWayinfoService;
-
+ private Timer _timer;
public IRepository<Dt_Task> Repository => BaseDal;
private Dictionary<string, OrderByType> _taskOrderBy = new()
@@ -60,9 +67,10 @@
public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList();
- public TaskService(IRepository<Dt_Task> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockInfoService stockInfoService, ILocationInfoService locationInfoService,
+ public TaskService(ILogger<TaskService> logger, IRepository<Dt_Task> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IStockInfoService stockInfoService, ILocationInfoService locationInfoService,
IWarehouseService warehouseService, IRoadWayinfoService roadWayinfoService) : base(BaseDal)
{
+ _logger = logger;
_mapper = mapper;
_unitOfWorkManage = unitOfWorkManage;
_stockInfoService = stockInfoService;
@@ -118,99 +126,181 @@
private WebResponseContent HandleInboundTask(Dt_Task task, int wcsTaskType)
{
WebResponseContent content = new WebResponseContent();
- switch (wcsTaskType)
+ try
{
- case 1:
- task.TaskStatus = (int)InTaskStatusEnum.PLC_InFinish;
- int loctype = 0;
- if (task.Roadway == "1" || task.Roadway == "2")
- {
- if(task.PalletType=="1") loctype = (int)LocationTypeEnum.SmallPallet;
- else if(task.PalletType=="2") loctype = (int)LocationTypeEnum.MediumPallet;
- }
- else
- {
- loctype = (int)LocationTypeEnum.LargePallet;
- }
- //鏌ユ壘璐т綅锛屾洿鏂颁换鍔�
- Dt_LocationInfo dt_Location=_locationInfoService.GetLocation(task.Roadway, loctype);
- Dt_LocationInfo ShallowCargoHold = _locationInfoService.ShallowGetLocation(dt_Location.RoadwayNo, dt_Location.LocationType, dt_Location.Row, dt_Location.Layer, dt_Location.Column);
- if(ShallowCargoHold==null) return content.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
- if(ShallowCargoHold.LocationStatus != (int)LocationStatusEnum.Free) return content.Error($"浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode},鏌ユ壘鐨勮揣浣嶆祬璐т綅鏈夎揣锛岃揣浣嶇紪鍙凤細{ShallowCargoHold.LocationCode}");
+ switch (wcsTaskType)
+ {
+ case 1:
+
+ if(task.TargetAddress == "")
+ {
+ int loctype = 0;
+ if (task.Roadway == "1" || task.Roadway == "2")
+ {
+ if (task.PalletType == "1") loctype = (int)LocationTypeEnum.SmallPallet;
+ else if (task.PalletType == "2") loctype = (int)LocationTypeEnum.MediumPallet;
+ }
+ else
+ {
+ loctype = (int)LocationTypeEnum.LargePallet;
+ }
- task.TargetAddress = dt_Location.LocationCode;
- task.CurrentAddress = task.NextAddress;
- task.NextAddress= dt_Location.LocationCode;
- task.TaskStatus = (int)InTaskStatusEnum.PLC_InFinish;
- dt_Location.LocationStatus = (int)LocationStatusEnum.Lock;
+ //鏌ユ壘璐т綅锛屾洿鏂颁换鍔�
+ Dt_LocationInfo dt_Location = _locationInfoService.GetLocation(task.Roadway, loctype);
+ Dt_LocationInfo ShallowCargoHold = _locationInfoService.ShallowGetLocation(dt_Location.RoadwayNo, dt_Location.LocationType, dt_Location.Row, dt_Location.Layer, dt_Location.Column);
+ if (ShallowCargoHold == null) return content.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+ if (ShallowCargoHold.LocationStatus != (int)LocationStatusEnum.Free) return content.Error($"浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode},鏌ユ壘鐨勮揣浣嶆祬璐т綅鏈夎揣锛岃揣浣嶇紪鍙凤細{ShallowCargoHold.LocationCode}");
- _locationInfoService.UpdateData(dt_Location);
- BaseDal.UpdateData(task);
- return content.OK($"宸叉帴鏀跺叆搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
-
-
- case 2:
- //涓婃姤MES浠诲姟瀹屾垚
- MES_parameter mES_Parameter = InStoreDocCallback(task.TaskNum, "Finish", "鎿嶄綔鎴愬姛", task.PalletCode, task.TargetAddress);
- if (mES_Parameter.Result == "Y")
- {
+ task.TargetAddress = dt_Location.LocationCode;
+ task.CurrentAddress = task.NextAddress;
+ task.NextAddress = dt_Location.LocationCode;
+ task.TaskStatus = (int)InTaskStatusEnum.PLC_InFinish;
- task.TaskStatus = (int)InTaskStatusEnum.SC_OutFinish;
- BaseDal.DeleteData(task);
- return content.OK($"宸叉帴鏀跺叆搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
- }
- else
- {
- return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
- }
- default:
- return WebResponseContent.Instance.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
+ dt_Location.LocationStatus = (int)LocationStatusEnum.Lock;
+
+ Dt_StockInfo dt_StockInfo = new Dt_StockInfo();
+ dt_StockInfo.PalletCode = task.PalletCode;
+ dt_StockInfo.PalletType = task.PalletType;
+ dt_StockInfo.WarehouseId = task.WarehouseId;
+ dt_StockInfo.LocationCode = dt_Location.LocationCode;
+ dt_StockInfo.StockStatus = (int)StockStatusEmun.鍏ュ簱涓�;
+ dt_StockInfo.Creater = "MWS";
+ dt_StockInfo.CreateDate = DateTime.Now;
+
+ _unitOfWorkManage.BeginTran();
+ _stockInfoService.AddData(dt_StockInfo);
+ _locationInfoService.UpdateData(dt_Location);
+ BaseDal.UpdateData(task);
+ _unitOfWorkManage.CommitTran();
+ return content.OK($"宸叉帴鏀跺叆搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
+ }
+ else
+ {
+ string Resultplc = MesInTaskStatusEnum.鍏ュ簱瀹屾垚.GetDescription();
+ MES_parameter mES_PCLParameter = InStoreDocCallback(task.TaskNum, Resultplc, "鎿嶄綔鎴愬姛", task.PalletCode, task.TargetAddress);
+ if (mES_PCLParameter.Result == "Y")
+ {
+ task.TaskStatus = (int)InTaskStatusEnum.PLC_InFinish;
+ _unitOfWorkManage.BeginTran();
+ BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ _unitOfWorkManage.CommitTran();
+ return content.OK($"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
+ }
+ else
+ {
+ return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg);
+ }
+ }
+ case 2:
+ string Resultsc = MesInTaskStatusEnum.鍏ュ簱瀹屾垚.GetDescription();
+ //涓婃姤MES浠诲姟瀹屾垚
+ MES_parameter mES_Parameter = InStoreDocCallback(task.TaskNum, Resultsc, "鎿嶄綔鎴愬姛", task.PalletCode, task.TargetAddress);
+ if (mES_Parameter.Result == "Y")
+ {
+ Dt_StockInfo dt_Stockowc = _stockInfoService.Repository.QueryData(x => x.PalletCode == task.PalletCode).FirstOrDefault();
+ Dt_LocationInfo dt_LocationInfo=_locationInfoService.Repository.QueryData(x => x.LocationCode == dt_Stockowc.LocationCode).FirstOrDefault();
+
+ dt_Stockowc.StockStatus = (int)StockStatusEmun.宸插叆搴�;
+ dt_LocationInfo.LocationStatus = (int)LocationStatusEnum.InStock;
+ task.TaskStatus = (int)InTaskStatusEnum.InFinish;
+
+ _unitOfWorkManage.BeginTran();
+ _stockInfoService.UpdateData(dt_Stockowc);
+ _locationInfoService.UpdateData(dt_LocationInfo);
+ BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ _unitOfWorkManage.CommitTran();
+ return content.OK($"宸叉帴鏀跺叆搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
+ }
+ else
+ {
+ return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
+ }
+ default:
+ return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
+ }
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return content.Error($"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
}
}
private WebResponseContent HandleOutboundTask(Dt_Task task, int wcsTaskType)
{
WebResponseContent content = new WebResponseContent();
- switch (wcsTaskType)
+ try
{
- case 1:
- //涓婃姤MES浠诲姟瀹屾垚
- MES_parameter mES_Parameter = OutStoreDocCallback(task.TaskNum, "Finish", "鎿嶄綔鎴愬姛");
- if (mES_Parameter.Result == "Y")
- {
- task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish;
- BaseDal.DeleteData(task);
- return content.OK($"宸叉帴鏀跺嚭搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
- }
- else
- {
- return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
- }
- case 2:
- //鑾峰彇瀵瑰簲PLC绔欏彴淇℃伅
- Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(task.Roadway);
- task.CurrentAddress = _Roadwayinfo.OutStationCode;
- task.NextAddress = task.TargetAddress;
- task.TaskStatus = (int)OutTaskStatusEnum.SC_OutFinish;
- BaseDal.UpdateData(task);
- return content.OK($"宸叉帴鏀跺嚭搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
- default:
- return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
+ switch (wcsTaskType)
+ {
+ case 1:
+ string Resultplc = MesOutTaskStatusEnum.鍒拌揪鐩殑鍦�.GetDescription();
+ //涓婃姤MES浠诲姟瀹屾垚
+ MES_parameter mES_Parameter = OutStoreDocCallback(task.TaskNum, Resultplc, "鎿嶄綔鎴愬姛");
+ if (mES_Parameter.Result == "Y")
+ {
+ task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish;
+ BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ return content.OK($"宸叉帴鏀跺嚭搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
+ }
+ else
+ {
+ return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
+ }
+ case 2:
+ //鑾峰彇瀵瑰簲PLC绔欏彴淇℃伅
+ Dt_roadwayinfo _Roadwayinfo = _roadWayinfoService.QbtainPlatform(task.Roadway);
+ task.CurrentAddress = _Roadwayinfo.OutStationCode;
+ task.NextAddress = task.TargetAddress;
+ task.TaskStatus = (int)OutTaskStatusEnum.SC_OutFinish;
+
+ Dt_StockInfo dt_Stockowc = _stockInfoService.Repository.QueryData(x => x.PalletCode == task.PalletCode).FirstOrDefault();
+ Dt_LocationInfo dt_LocationInfo = _locationInfoService.Repository.QueryData(x => x.LocationCode == dt_Stockowc.LocationCode).FirstOrDefault();
+
+ _unitOfWorkManage.BeginTran();
+ _stockInfoService.DeleteData(dt_Stockowc);
+ _locationInfoService.DeleteData(dt_LocationInfo);
+ BaseDal.UpdateData(task);
+ _unitOfWorkManage.CommitTran();
+
+
+ return content.OK($"宸叉帴鏀跺嚭搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
+ default:
+ return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
+ }
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return content.Error($"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
}
}
private WebResponseContent HandleRelocationTask(Dt_Task task, int wcsTaskType)
{
+ WebResponseContent responseContent = new WebResponseContent();
if (wcsTaskType == 2)
{
- task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationFinish;
- BaseDal.UpdateData(task);
- return WebResponseContent.Instance.OK($"宸叉帴鏀剁Щ搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
+ //涓婃姤MES鍫嗗灈鏈虹Щ搴撲换鍔�
+ string Resultplc = MesOutTaskStatusEnum.鍒拌揪鐩殑鍦�.GetDescription();
+ //涓婃姤MES浠诲姟瀹屾垚
+ MES_parameter mES_Parameter = AbnormalStorageLocation(task.PalletCode, task.SourceAddress, task.TargetAddress);
+ if (mES_Parameter.Result == "Y")
+ {
+ task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationFinish;
+ BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+ return WebResponseContent.Instance.OK($"宸叉帴鏀剁Щ搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
+ }
+ else
+ {
+ return responseContent.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
+ }
}
return WebResponseContent.Instance.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
}
-
+
+
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs"
new file mode 100644
index 0000000..6c8aeb1
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs"
@@ -0,0 +1,365 @@
+锘縰sing AutoMapper;
+using MailKit.Search;
+using Microsoft.AspNetCore.Http;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Net;
+using System.Reflection.Metadata;
+using System.Security.Policy;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Common.LocationEnum;
+using WIDESEA_Common.Log;
+using WIDESEA_Common.OtherEnum;
+using WIDESEA_Common.StockEnum;
+using WIDESEA_Common.TaskEnum;
+using WIDESEA_Core;
+using WIDESEA_Core.BaseRepository;
+using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.Enums;
+using WIDESEA_Core.Helper;
+using WIDESEA_DTO.Inbound;
+using WIDESEA_DTO.Stock;
+using WIDESEA_DTO.Task;
+using WIDESEA_IBasicService;
+using WIDESEA_IStockService;
+using WIDESEA_ITaskInfoService;
+using WIDESEA_Model.Models;
+using static WIDESEA_ITaskInfoService.ITaskService;
+
+namespace WIDESEA_TaskInfoService
+{
+ public partial class WMSCruJob : IHostedService, IDisposable
+ {
+ private readonly ILogger<WMSCruJob> _logger;
+ private Timer _timer;
+ private readonly ITaskService _taskService;
+ private readonly ILocationInfoService _locationInfoService;
+ private readonly IStockInfoService _stockInfoService;
+ private readonly IUnitOfWorkManage _unitOfWorkManage;
+
+
+
+
+ public Task StartAsync(CancellationToken cancellationToken)
+ {
+ _timer = new Timer(DoWorkWheel, null, TimeSpan.Zero, TimeSpan.FromSeconds(3));
+ return Task.CompletedTask;
+ }
+ private void DoWorkWheel(object state)
+ {
+ // 瀹氫箟鐘舵�佸父閲忥紝閬垮厤榄旀硶鏁板瓧
+ const int PLC_IN_FINISH = (int)InTaskStatusEnum.PLC_InFinish;
+ const int OUT_NEW = (int)OutTaskStatusEnum.OutNew;
+ const int SC_OUT_FINISH = (int)OutTaskStatusEnum.SC_OutFinish;
+ const int SC_IN_EXECUTING = (int)InTaskStatusEnum.SC_IntExecuting;
+ const int SC_OUT_EXECUTING = (int)OutTaskStatusEnum.SC_OutExecuting;
+ const int RELOCATION_EXECUTING = (int)RelocationTaskStatusEnum.RelocationExecuting;
+ const int PLC_OUT_EXECUTING = (int)OutTaskStatusEnum.PLC_OutExecuting;
+
+ // 鑾峰彇褰撳墠浠诲姟鏁版嵁
+ List<Dt_Task> allTasks = _taskService.Repository.QueryData();
+
+ // 鑾峰彇宸烽亾瓒呰繃3涓换鍔$殑璺
+ HashSet<string> excludedRoadways = allTasks
+ .Where(x => x.NumberSsuances > 3)
+ .Select(x => x.Roadway)
+ .Distinct()
+ .ToHashSet();
+
+ // 杩囨护闇�瑕佸鐞嗙殑浠诲姟
+ List<Dt_Task> tasksToProcess = allTasks
+ .Where(x =>
+ (x.TaskStatus == PLC_IN_FINISH ||
+ x.TaskStatus == OUT_NEW ||
+ x.TaskStatus == SC_OUT_FINISH) &&
+ !excludedRoadways.Contains(x.Roadway))
+ .ToList();
+
+ // 鎸夌姸鎬佸垎缁勫鐞嗭紝鍑忓皯閲嶅鏌ヨ
+ ProcessInAndNewTasks(tasksToProcess, allTasks, excludedRoadways); //涓嬪彂鍫嗗灈鏈�
+ ProcessOutFinishTasks(tasksToProcess, allTasks); //涓嬪彂杈撻�佺嚎浠诲姟
+ }
+
+ private void ProcessInAndNewTasks(List<Dt_Task> tasksToProcess, List<Dt_Task> allTasks, HashSet<string> excludedRoadways)
+ {
+ const int PLC_IN_FINISH = (int)InTaskStatusEnum.PLC_InFinish;
+ const int OUT_NEW = (int)OutTaskStatusEnum.OutNew;
+ const int SC_IN_EXECUTING = (int)InTaskStatusEnum.SC_IntExecuting;
+ const int SC_OUT_EXECUTING = (int)OutTaskStatusEnum.SC_OutExecuting;
+ const int RELOCATION_EXECUTING = (int)RelocationTaskStatusEnum.RelocationExecuting;
+ const int RELOCCATION_NEW = (int)RelocationTaskStatusEnum.RelocationNew;
+
+ var inAndNewTasks = tasksToProcess
+ .Where(x => x.TaskStatus == PLC_IN_FINISH || x.TaskStatus == OUT_NEW).OrderBy(x=>x.CreateDate)
+ .ToList();
+
+ foreach (var task in inAndNewTasks)
+ {
+ // 妫�鏌ュ悓涓�宸烽亾鏄惁鏈夋鍦ㄦ墽琛岀殑浠诲姟
+ bool hasExecutingTask = allTasks.Any(x =>
+ x.TaskId != task.TaskId &&
+ x.Roadway == task.Roadway &&
+ (x.TaskStatus == SC_IN_EXECUTING ||
+ x.TaskStatus == SC_OUT_EXECUTING ||
+ x.TaskStatus == RELOCATION_EXECUTING));
+
+ if (hasExecutingTask)
+ continue;
+
+ //鍒ゆ柇鏄惁闇�瑕佺Щ搴�
+ WebResponseContent webResponse=JudgmentIsRelocations(task);
+ if (!webResponse.Status) continue;
+
+ // 涓嬪彂鍫嗗灈鏈轰换鍔�
+ WCSginseng result = _taskService.SC_IssueTasks(
+ task.TaskId,
+ int.Parse(task.Roadway),
+ task.TaskNum,
+ task.PalletCode,
+ int.Parse(task.PalletType),
+ task.CurrentAddress,
+ task.NextAddress,
+ task.TargetAddress);
+
+ UpdateTaskStatus(task, result,
+ successStatus: task.TaskStatus == PLC_IN_FINISH ? SC_IN_EXECUTING : SC_OUT_EXECUTING,1);
+ }
+ }
+
+ private void ProcessOutFinishTasks(List<Dt_Task> tasksToProcess, List<Dt_Task> allTasks)
+ {
+ const int SC_OUT_FINISH = (int)OutTaskStatusEnum.SC_OutFinish;
+ const int PLC_OUT_EXECUTING = (int)OutTaskStatusEnum.PLC_OutExecuting;
+
+ var outFinishTasks = tasksToProcess
+ .Where(x => x.TaskStatus == SC_OUT_FINISH)
+ .ToList();
+
+ foreach (var task in outFinishTasks)
+ {
+ // 妫�鏌ュ悓涓�宸烽亾鏄惁鏈夊叾浠栧凡瀹屾垚鐨勪换鍔�
+ bool hasOtherFinishTask = allTasks.Any(x =>
+ x.Roadway == task.Roadway &&
+ x.TaskStatus == SC_OUT_FINISH &&
+ x.TaskId != task.TaskId);
+
+ if (hasOtherFinishTask)
+ continue;
+
+ // 涓嬪彂PLC浠诲姟
+ WCSginseng result = _taskService.PLC_IssueTasks(
+ task.TaskId,
+ int.Parse(task.Roadway),
+ task.TaskNum,
+ task.PalletCode,
+ int.Parse(task.PalletType),
+ task.CurrentAddress,
+ task.NextAddress,
+ "");
+
+ UpdateTaskStatus(task, result, PLC_OUT_EXECUTING,2);
+ }
+ }
+
+ private void UpdateTaskStatus(Dt_Task task, WCSginseng result, int successStatus,int statype)
+ {
+ if (result.IsSuccess)
+ {
+
+ task.TaskStatus = successStatus;
+ if(task.TaskStatus== (int)OutTaskStatusEnum.SC_OutExecuting)
+ {
+ string Result = MesOutTaskStatusEnum.鍑哄簱寮�濮�.GetDescription();
+ //璋冨彇涓婃父绯荤粺鍙嶉寮�濮嬩换鍔�
+ _taskService.OutStoreDocCallback(task.TaskNum,Result, "鎿嶄綔鎴愬姛");
+ }
+ }
+ else
+ {
+ task.Remark = result.Message;
+ task.NumberSsuances++;
+ }
+
+ _taskService.Repository.UpdateData(task);
+ }
+
+
+ public Task StopAsync(CancellationToken cancellationToken)
+ {
+ _timer?.Dispose();
+ return Task.CompletedTask;
+ }
+
+ public void Dispose()
+ {
+ throw new NotImplementedException();
+ }
+
+ /// <summary>
+ /// 鍒ゆ柇宸烽亾鍐呯Щ搴�
+ /// </summary>
+ /// <param name="TaskNum"></param>
+ /// <param name="SourceAddress"></param>
+ /// <returns></returns>
+ public WebResponseContent JudgmentIsRelocations(Dt_Task dt_Task)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ string Locationcodeadd = dt_Task.TaskType == (int)TaskTypeEnum.Inbound ? dt_Task.NextAddress : dt_Task.CurrentAddress;
+
+ Dt_LocationInfo dt_Location = _locationInfoService.Repository.QueryData(x => x.LocationCode == Locationcodeadd).FirstOrDefault();
+ if (dt_Location.Depth == 1 || dt_Location.RoadwayNo == "5") return content.OK();
+ int locrow = judgmentRow(dt_Location.RoadwayNo, dt_Location.Row);
+ Dt_LocationInfo shallowLocation = _locationInfoService.Repository.QueryData(x => x.RoadwayNo == dt_Location.RoadwayNo && x.Row == locrow && x.Layer == dt_Location.Layer && x.Column == dt_Location.Column).FirstOrDefault();
+ if (shallowLocation.LocationStatus == (int)LocationStatusEnum.Free) return content.OK();
+ if (shallowLocation.LocationStatus != (int)(int)LocationStatusEnum.InStock) return content.Error();
+
+ //鍒ゆ柇鏄惁鏈夌Щ搴撲换鍔�
+ var TransferTask = _taskService.Repository.QueryData(x=>x.TaskStatus== (int)RelocationTaskStatusEnum.RelocationNew && x.CurrentAddress== shallowLocation.LocationCode).FirstOrDefault();
+ if(TransferTask != null)
+ {
+ //杩涜涓嬪彂缁欏爢鍨涙満浠诲姟
+ WCSginseng result = _taskService.SC_IssueTasks(
+ TransferTask.TaskId,
+ int.Parse(TransferTask.Roadway),
+ TransferTask.TaskNum,
+ TransferTask.PalletCode,
+ int.Parse(TransferTask.PalletType),
+ TransferTask.CurrentAddress,
+ TransferTask.NextAddress,
+ TransferTask.TargetAddress);
+ if (result.IsSuccess)
+ {
+ return content.OK();
+ }
+ else
+ {
+ WriteLog.GetLog("鍒ゆ柇宸烽亾鍐呯Щ搴�").Write($"涓嬪彂鍫嗗灈鏈轰换鍔″け璐ワ紝鍘熷洜锛歿result.Message}", $"鐢熸垚绉诲簱浠诲姟:GenerateTransferTask");
+ return content.Error();
+ }
+ }
+
+ //鐢熸垚绉诲簱浠诲姟锛岃繘琛屼笅鍙�
+ return content =GenerateTransferTask(shallowLocation.LocationCode);
+ }
+ catch (Exception ex)
+ {
+ WriteLog.GetLog("鍒ゆ柇宸烽亾鍐呯Щ搴�").Write($"鍒ゆ柇绉诲簱澶辫触锛屽師鍥狅細{ex.Message}", $"鍒ゆ柇宸烽亾鍐呯Щ搴撴柟娉�:JudgmentIsRelocations");
+ return content.Error();
+
+ }
+ }
+
+ private int judgmentRow(string RoadwayNo,int locrow)
+ {
+ if (RoadwayNo == "1" || RoadwayNo == "3")
+ {
+ return locrow == 1 ? 2 : 3;
+ }
+ else if (RoadwayNo == "2" || RoadwayNo == "4")
+ {
+ return locrow == 5 ? 6 : 7;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+
+ public WebResponseContent GenerateTransferTask(string shallowLocation)
+ {
+ WebResponseContent webResponse=new WebResponseContent();
+ try
+ {
+ Dt_LocationInfo OriginalLocation = _locationInfoService.Repository.QueryData(x => x.LocationCode == shallowLocation).FirstOrDefault();
+ Dt_StockInfo dt_StockInfo = _stockInfoService.Repository.QueryData(x => x.LocationCode == shallowLocation).FirstOrDefault();
+ Dt_LocationInfo newLocation = _locationInfoService.GetLocation(OriginalLocation.RoadwayNo, OriginalLocation.LocationType);
+ List<Dt_LocationInfo> dt_Locations = new List<Dt_LocationInfo>();
+
+ MES_parameter mES_Parame = _taskService.ApplicationChangeStorageLocation(dt_StockInfo.PalletCode, OriginalLocation.LocationCode, newLocation.LocationCode);
+ if (mES_Parame != null)
+ {
+ if (mES_Parame.Result == "Y")
+ {
+ //杩涜鐢熸垚浠诲姟锛屼笅鍙戜换鍔¤嚦MES
+ Dt_Task task = new Dt_Task();
+ task.TaskNum = "0";
+ task.PalletCode = dt_StockInfo.PalletCode;
+ task.PalletType = dt_StockInfo.PalletType;
+ task.Roadway = OriginalLocation.RoadwayNo;
+ task.TaskType = (int)TaskTypeEnum.Relocation;
+ task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationNew;
+ task.SourceAddress = OriginalLocation.LocationCode;
+ task.TargetAddress = newLocation.LocationCode;
+ task.CurrentAddress = OriginalLocation.LocationCode;
+ task.NextAddress = newLocation.LocationCode;
+ task.WarehouseId = OriginalLocation.WarehouseId;
+ task.OrderNo = "";
+ task.Grade = 1;
+ task.Creater = "MES";
+ task.CreateDate = DateTime.Now;
+
+ OriginalLocation.LocationStatus = (int)LocationStatusEnum.Lock;
+ newLocation.LocationStatus = (int)LocationStatusEnum.Lock;
+ dt_StockInfo.StockStatus = (int)StockStatusEmun.绉诲簱閿佸畾;
+
+ dt_Locations.Add(OriginalLocation);
+ dt_Locations.Add(newLocation);
+
+ _unitOfWorkManage.BeginTran();
+ _taskService.AddData(task);
+ _locationInfoService.UpdateData(dt_Locations);
+ _stockInfoService.UpdateData(dt_StockInfo);
+ //_stockInfoService.Repository.AddData(dt_StockInfo);
+ _unitOfWorkManage.CommitTran();
+
+ //杩涜涓嬪彂缁欏爢鍨涙満浠诲姟
+ WCSginseng result = _taskService.SC_IssueTasks(
+ task.TaskId,
+ int.Parse(task.Roadway),
+ task.TaskNum,
+ task.PalletCode,
+ int.Parse(task.PalletType),
+ task.CurrentAddress,
+ task.NextAddress,
+ task.TargetAddress);
+ if (result.IsSuccess)
+ {
+ return webResponse.OK();
+ }
+ else
+ {
+ WriteLog.GetLog("鍒ゆ柇宸烽亾鍐呯Щ搴�").Write($"涓嬪彂鍫嗗灈鏈轰换鍔″け璐ワ紝鍘熷洜锛歿result.Message}", $"鐢熸垚绉诲簱浠诲姟:GenerateTransferTask");
+ return webResponse.Error();
+ }
+ }
+ else
+ {
+ WriteLog.GetLog("鍒ゆ柇宸烽亾鍐呯Щ搴�").Write($"鐢宠鍌ㄤ綅寮傚姩锛孧ES涓嶅厑璁哥Щ鍔�", $"鐢熸垚绉诲簱浠诲姟:GenerateTransferTask");
+ return webResponse.Error();
+ }
+ }
+ else
+ {
+ WriteLog.GetLog("鍒ゆ柇宸烽亾鍐呯Щ搴�").Write($"鐢宠鍌ㄤ綅寮傚姩锛孧ES杩斿洖涓虹┖", $"鐢熸垚绉诲簱浠诲姟:GenerateTransferTask");
+ return webResponse.Error();
+ }
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ WriteLog.GetLog("鍒ゆ柇宸烽亾鍐呯Щ搴�").Write($"鐢熸垚绉诲簱浠诲姟澶辫触锛歿ex.Message}", $"鐢熸垚绉诲簱浠诲姟:GenerateTransferTask");
+ return webResponse.Error();
+ }
+ }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index a41f86c..426c5b3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -22,8 +22,15 @@
{
}
+ //浠诲姟瀹屾垚
+ [HttpPost, Route("TaskCompleted"), AllowAnonymous]
+ public WebResponseContent TaskCompleted(WCSTaskDTO wCSTask)
+ {
+ return Service.TaskCompleted(wCSTask);
+ }
+
//WCS鍏ュ簱浠诲姟鑾峰彇
- [HttpPost, Route("PalletInboundTask")]
+ [HttpPost, Route("PalletInboundTask"), AllowAnonymous]
public WebResponseContent PalletInboundTask(WCSTaskDTO wCSTask)
{
return Service.PalletInboundTask(wCSTask);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/WCSTaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/WCSTaskController.cs"
index 5f664cf..5a4ff8b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/WCSTaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/WCSTaskController.cs"
@@ -14,7 +14,7 @@
/// <summary>
/// 浠诲姟
/// </summary>
- [Route("api/Task")]
+ [Route("api/WCSTask")]
[ApiController]
public class WCSTaskController : ApiBaseController<ITaskService, Dt_Task>
{
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
index 1b0c26a..cc4b728 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs"
@@ -1,5 +1,3 @@
-using System.Reflection;
-using System.Text;
using Autofac;
using Autofac.Core;
using Autofac.Extensions.DependencyInjection;
@@ -11,6 +9,8 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
+using System.Reflection;
+using System.Text;
using WIDESEA_Core;
using WIDESEA_Core.Authorization;
using WIDESEA_Core.BaseServices;
@@ -20,6 +20,7 @@
using WIDESEA_Core.Helper;
//using WIDESEA_Core.HostedService;
using WIDESEA_Core.Middlewares;
+using WIDESEA_TaskInfoService;
using WIDESEA_WMSServer.Filter;
var builder = WebApplication.CreateBuilder(args);
@@ -94,6 +95,7 @@
builder.Services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>());
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+builder.Services.AddHostedService<WMSCruJob>();
var app = builder.Build();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
index 77f1f16..3f45383 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json"
@@ -10,11 +10,11 @@
"AllowedHosts": "*",
"ConnectionStringsEncryption": false,
"MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
- "MES_InReporttask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //鍏ュ簱鍙嶉淇℃伅
- "MES_OutReporttask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //鍑哄簱鍙嶉淇℃伅
- "MES_InventoryUpdateApply": "http://172.18.195.201:8889/api/Task/ReceiveTask", //鍌ㄤ綅寮傚姩鐢宠
- "MES_InventoryUpdateCallback": "http://172.18.195.201:8889/api/Task/ReceiveTask", //鍌ㄤ綅寮傚姩鐢宠
- "MES_TaskErrorInfoCallback": "http://172.18.195.201:8889/api/Task/ReceiveTask", //浠诲姟寮傚父涓婃姤
+ "MES_InReporttask": "http://172.18.199.91/api/wms-intelligent-warehouse/public/SanYang/InStoreDocCallback", //鍏ュ簱鍙嶉淇℃伅
+ "MES_OutReporttask": "http://172.18.199.91/api/wms-intelligent-warehouse/public/SanYang/OutStoreDocCallback", //鍑哄簱鍙嶉淇℃伅
+ "MES_InventoryUpdateApply": "http://172.18.199.91/api/wms-intelligent-warehouse/public/SanYang/InventoryUpdateApply", //鍌ㄤ綅寮傚姩鐢宠
+ "MES_InventoryUpdateCallback": "http://172.18.199.91/api/wms-intelligent-warehouse/public/SanYang/InventoryUpdateCallback", //鍌ㄤ綅寮傚姩鐢宠
+ "MES_TaskErrorInfoCallback": "http://172.18.199.91/api/wms-intelligent-warehouse/public/SanYang/TaskErrorInfoCallback", //浠诲姟寮傚父涓婃姤
"WCS_SendConveyorTask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //杈撻�佺嚎浠诲姟涓嬪彂
"WCS_SendStackerTask": "http://172.18.195.201:8889/api/Task/ReceiveTask", //鍫嗗灈鏈轰换鍔′笅鍙�
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\350\223\235\345\233\276\346\226\207\344\273\266/\351\271\260\347\276\216\346\231\272\350\203\275\345\267\245\345\216\202\347\253\213\344\275\223\345\272\223\351\241\271\347\233\256\350\275\257\344\273\266\347\263\273\347\273\237\350\223\235\345\233\276 V6.0.docm" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\350\223\235\345\233\276\346\226\207\344\273\266/\351\271\260\347\276\216\346\231\272\350\203\275\345\267\245\345\216\202\347\253\213\344\275\223\345\272\223\351\241\271\347\233\256\350\275\257\344\273\266\347\263\273\347\273\237\350\223\235\345\233\276 V6.0.docm"
index 9060514..4823961 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\350\223\235\345\233\276\346\226\207\344\273\266/\351\271\260\347\276\216\346\231\272\350\203\275\345\267\245\345\216\202\347\253\213\344\275\223\345\272\223\351\241\271\347\233\256\350\275\257\344\273\266\347\263\273\347\273\237\350\223\235\345\233\276 V6.0.docm"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\350\223\235\345\233\276\346\226\207\344\273\266/\351\271\260\347\276\216\346\231\272\350\203\275\345\267\245\345\216\202\347\253\213\344\275\223\345\272\223\351\241\271\347\233\256\350\275\257\344\273\266\347\263\273\347\273\237\350\223\235\345\233\276 V6.0.docm"
Binary files differ
--
Gitblit v1.9.3