From c5c3e4e538a11f2a6391e6b2613375b1f92eb20a Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期三, 15 四月 2026 14:39:18 +0800
Subject: [PATCH] feat: 添加Quartz日志助手类并重构任务服务日志记录
---
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 24
Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/extend/gridBodyExtension.vue | 11
.gitignore | 2
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/OutboundTaskFlowService.cs | 40 +-
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRobotTaskFlowService.cs | 2
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IInboundTaskFlowService.cs | 2
Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs | 2
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTaskFilter.cs | 9
Code/测试工具/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-1003/config.json | 2
Code/测试工具/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-HCSC1/config.json | 7
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRelocationTaskFlowService.cs | 2
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/InboundTaskFlowService.cs | 7
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs | 22 -
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs | 37 -
Code/.omc/state/idle-notif-cooldown.json | 2
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 21
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneCommandBuilder.cs | 48 --
Code/.omc/state/subagent-tracking.json | 15
Code/测试工具/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-CWSC1/config.json | 2
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IOutboundTaskFlowService.cs | 2
Code/.omc/state/mission-state.json | 50 +++
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/QuartzLogHelper.cs | 85 +++++
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs | 33 -
Code/测试工具/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/protocol-templates.json | 316 +++++++++----------
Code/测试工具/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-PM/config.json | 2
Code/.omc/state/agent-replay-cf22b2af-f777-4b1d-beca-2152d6beebbb.jsonl | 2
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RobotTaskFlowService.cs | 3
Code/WCS/WIDESEAWCS_Client/.omc/project-memory.json | 182 +++++++++++
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs | 13
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RelocationTaskFlowService.cs | 3
30 files changed, 601 insertions(+), 347 deletions(-)
diff --git a/.gitignore b/.gitignore
index 29b8537..00b02f3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -439,3 +439,5 @@
**/.claude/settings.local.json
**/.vs/**/DocumentLayout.json
**/.vs/**/DocumentLayout.backup.json
+/Code/娴嬭瘯宸ュ叿/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data
+/Code/娴嬭瘯宸ュ叿/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data
diff --git a/Code/.omc/state/agent-replay-cf22b2af-f777-4b1d-beca-2152d6beebbb.jsonl b/Code/.omc/state/agent-replay-cf22b2af-f777-4b1d-beca-2152d6beebbb.jsonl
new file mode 100644
index 0000000..f7dfa90
--- /dev/null
+++ b/Code/.omc/state/agent-replay-cf22b2af-f777-4b1d-beca-2152d6beebbb.jsonl
@@ -0,0 +1,2 @@
+{"t":0,"agent":"a48e41d","agent_type":"Explore","event":"agent_start","parent_mode":"none"}
+{"t":0,"agent":"a48e41d","agent_type":"Explore","event":"agent_stop","success":true,"duration_ms":51400}
diff --git a/Code/.omc/state/idle-notif-cooldown.json b/Code/.omc/state/idle-notif-cooldown.json
index d913e16..05ceef1 100644
--- a/Code/.omc/state/idle-notif-cooldown.json
+++ b/Code/.omc/state/idle-notif-cooldown.json
@@ -1,3 +1,3 @@
{
- "lastSentAt": "2026-04-14T08:08:15.956Z"
+ "lastSentAt": "2026-04-15T06:28:49.381Z"
}
\ No newline at end of file
diff --git a/Code/.omc/state/mission-state.json b/Code/.omc/state/mission-state.json
index c9d6d38..5cd366a 100644
--- a/Code/.omc/state/mission-state.json
+++ b/Code/.omc/state/mission-state.json
@@ -1,5 +1,5 @@
{
- "updatedAt": "2026-04-13T02:47:35.467Z",
+ "updatedAt": "2026-04-15T06:10:46.493Z",
"missions": [
{
"id": "session:9007b9ea-1eb6-4d24-8fe7-2c3a949eac88:none",
@@ -428,6 +428,54 @@
"sourceKey": "session-stop:adb1029c24100db60"
}
]
+ },
+ {
+ "id": "session:cf22b2af-f777-4b1d-beca-2152d6beebbb:none",
+ "source": "session",
+ "name": "none",
+ "objective": "Session mission",
+ "createdAt": "2026-04-15T06:09:55.093Z",
+ "updatedAt": "2026-04-15T06:10:46.493Z",
+ "status": "done",
+ "workerCount": 1,
+ "taskCounts": {
+ "total": 1,
+ "pending": 0,
+ "blocked": 0,
+ "inProgress": 0,
+ "completed": 1,
+ "failed": 0
+ },
+ "agents": [
+ {
+ "name": "Explore:a48e41d",
+ "role": "Explore",
+ "ownership": "a48e41df38204e6dc",
+ "status": "done",
+ "currentStep": null,
+ "latestUpdate": "completed",
+ "completedSummary": null,
+ "updatedAt": "2026-04-15T06:10:46.493Z"
+ }
+ ],
+ "timeline": [
+ {
+ "id": "session-start:a48e41df38204e6dc:2026-04-15T06:09:55.093Z",
+ "at": "2026-04-15T06:09:55.093Z",
+ "kind": "update",
+ "agent": "Explore:a48e41d",
+ "detail": "started Explore:a48e41d",
+ "sourceKey": "session-start:a48e41df38204e6dc"
+ },
+ {
+ "id": "session-stop:a48e41df38204e6dc:2026-04-15T06:10:46.493Z",
+ "at": "2026-04-15T06:10:46.493Z",
+ "kind": "completion",
+ "agent": "Explore:a48e41d",
+ "detail": "completed",
+ "sourceKey": "session-stop:a48e41df38204e6dc"
+ }
+ ]
}
]
}
\ No newline at end of file
diff --git a/Code/.omc/state/subagent-tracking.json b/Code/.omc/state/subagent-tracking.json
index 17d460d..c935479 100644
--- a/Code/.omc/state/subagent-tracking.json
+++ b/Code/.omc/state/subagent-tracking.json
@@ -287,10 +287,19 @@
"status": "completed",
"completed_at": "2026-04-13T02:47:35.467Z",
"duration_ms": 9005
+ },
+ {
+ "agent_id": "a48e41df38204e6dc",
+ "agent_type": "Explore",
+ "started_at": "2026-04-15T06:09:55.093Z",
+ "parent_mode": "none",
+ "status": "completed",
+ "completed_at": "2026-04-15T06:10:46.493Z",
+ "duration_ms": 51400
}
],
- "total_spawned": 32,
- "total_completed": 32,
+ "total_spawned": 33,
+ "total_completed": 33,
"total_failed": 0,
- "last_updated": "2026-04-13T02:47:35.573Z"
+ "last_updated": "2026-04-15T06:10:46.596Z"
}
\ No newline at end of file
diff --git a/Code/WCS/WIDESEAWCS_Client/.omc/project-memory.json b/Code/WCS/WIDESEAWCS_Client/.omc/project-memory.json
new file mode 100644
index 0000000..bebd8f4
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Client/.omc/project-memory.json
@@ -0,0 +1,182 @@
+{
+ "version": "1.0.0",
+ "lastScanned": 1776214627595,
+ "projectRoot": "d:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_Client",
+ "techStack": {
+ "languages": [
+ {
+ "name": "JavaScript/TypeScript",
+ "version": null,
+ "confidence": "high",
+ "markers": [
+ "package.json"
+ ]
+ }
+ ],
+ "frameworks": [
+ {
+ "name": "vue",
+ "version": "3.2.37",
+ "category": "frontend"
+ },
+ {
+ "name": "vite",
+ "version": "5.0.0",
+ "category": "build"
+ }
+ ],
+ "packageManager": "pnpm",
+ "runtime": null
+ },
+ "build": {
+ "buildCommand": "pnpm build",
+ "testCommand": null,
+ "lintCommand": "pnpm lint",
+ "devCommand": null,
+ "scripts": {
+ "serve": "vite",
+ "build": "vite build",
+ "preview": "vite preview",
+ "lint": "eslint --ext .js,.vue src"
+ }
+ },
+ "conventions": {
+ "namingStyle": null,
+ "importStyle": null,
+ "testPattern": null,
+ "fileOrganization": "type-based"
+ },
+ "structure": {
+ "isMonorepo": false,
+ "workspaces": [],
+ "mainDirectories": [
+ "public",
+ "src",
+ "tests"
+ ],
+ "gitBranches": {
+ "defaultBranch": "master",
+ "branchingStrategy": null
+ }
+ },
+ "customNotes": [],
+ "directoryMap": {
+ "config": {
+ "path": "config",
+ "purpose": "Configuration files",
+ "fileCount": 1,
+ "lastAccessed": 1776214627557,
+ "keyFiles": [
+ "buttons.js"
+ ]
+ },
+ "dist": {
+ "path": "dist",
+ "purpose": "Distribution/build output",
+ "fileCount": 3,
+ "lastAccessed": 1776214627558,
+ "keyFiles": [
+ "index.html",
+ "wcslogo.png",
+ "wms_d.png"
+ ]
+ },
+ "public": {
+ "path": "public",
+ "purpose": "Public files",
+ "fileCount": 3,
+ "lastAccessed": 1776214627572,
+ "keyFiles": [
+ "index.html",
+ "wcslogo.png",
+ "wms_d.png"
+ ]
+ },
+ "src": {
+ "path": "src",
+ "purpose": "Source code",
+ "fileCount": 2,
+ "lastAccessed": 1776214627573,
+ "keyFiles": [
+ "App.vue",
+ "main.js"
+ ]
+ },
+ "tests": {
+ "path": "tests",
+ "purpose": "Test files",
+ "fileCount": 0,
+ "lastAccessed": 1776214627573,
+ "keyFiles": []
+ },
+ "dist\\assets": {
+ "path": "dist\\assets",
+ "purpose": "Static assets",
+ "fileCount": 87,
+ "lastAccessed": 1776214627574,
+ "keyFiles": [
+ "401-BfTrT_7C.js",
+ "404-CUk7f22q.js",
+ "Audit-C52MvHzW.css"
+ ]
+ },
+ "dist\\static": {
+ "path": "dist\\static",
+ "purpose": "Static files",
+ "fileCount": 1,
+ "lastAccessed": 1776214627575,
+ "keyFiles": [
+ "login_bg.png"
+ ]
+ },
+ "public\\static": {
+ "path": "public\\static",
+ "purpose": "Static files",
+ "fileCount": 1,
+ "lastAccessed": 1776214627575,
+ "keyFiles": [
+ "login_bg.png"
+ ]
+ },
+ "src\\api": {
+ "path": "src\\api",
+ "purpose": "API routes",
+ "fileCount": 3,
+ "lastAccessed": 1776214627576,
+ "keyFiles": [
+ "http.js",
+ "permission.js",
+ "useTest.js"
+ ]
+ },
+ "src\\assets": {
+ "path": "src\\assets",
+ "purpose": "Static assets",
+ "fileCount": 1,
+ "lastAccessed": 1776214627577,
+ "keyFiles": [
+ "logo.png"
+ ]
+ },
+ "src\\components": {
+ "path": "src\\components",
+ "purpose": "UI components",
+ "fileCount": 0,
+ "lastAccessed": 1776214627577,
+ "keyFiles": []
+ },
+ "src\\views": {
+ "path": "src\\views",
+ "purpose": "View templates",
+ "fileCount": 4,
+ "lastAccessed": 1776214627577,
+ "keyFiles": [
+ "fix.js",
+ "Home.vue",
+ "Index.vue"
+ ]
+ }
+ },
+ "hotPaths": [],
+ "userDirectives": []
+}
\ No newline at end of file
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IInboundTaskFlowService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IInboundTaskFlowService.cs
index 839aca8..6b23014 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IInboundTaskFlowService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IInboundTaskFlowService.cs
@@ -15,7 +15,7 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS浠诲姟鍘熷鏁版嵁銆�</param>
- void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source);
+ WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source);
/// <summary>
/// 鎺ㄨ繘鍏ュ簱浠诲姟鍒颁笅涓�鐘舵�併��
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IOutboundTaskFlowService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IOutboundTaskFlowService.cs
index ad69786..41553e6 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IOutboundTaskFlowService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IOutboundTaskFlowService.cs
@@ -15,7 +15,7 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS浠诲姟鍘熷鏁版嵁銆�</param>
- void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source);
+ WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source);
/// <summary>
/// 鎺ㄨ繘鍑哄簱浠诲姟鍒颁笅涓�鐘舵�併��
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRelocationTaskFlowService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRelocationTaskFlowService.cs
index 0e7c2e4..825c51c 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRelocationTaskFlowService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRelocationTaskFlowService.cs
@@ -15,7 +15,7 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS浠诲姟鍘熷鏁版嵁銆�</param>
- void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source);
+ WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source);
/// <summary>
/// 鎺ㄨ繘绉诲簱浠诲姟鍒颁笅涓�鐘舵�併��
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRobotTaskFlowService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRobotTaskFlowService.cs
index ca99444..015d92f 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRobotTaskFlowService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/IRobotTaskFlowService.cs
@@ -15,7 +15,7 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS浠诲姟鍘熷鏁版嵁銆�</param>
- void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source);
+ WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source);
/// <summary>
/// 鎺ㄨ繘鏈烘鎵嬩换鍔″埌涓嬩竴鐘舵�併��
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/InboundTaskFlowService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/InboundTaskFlowService.cs
index a6b90c8..69c8796 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/InboundTaskFlowService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/InboundTaskFlowService.cs
@@ -38,17 +38,20 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS浠诲姟鍘熷鏁版嵁銆�</param>
- public void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source)
+ public WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source)
{
+ WebResponseContent content = new WebResponseContent();
Dt_Router routers = _routerService.QueryNextRoute(source.SourceAddress);
if (routers.IsNullOrEmpty())
{
- return;
+ return content.Error("鏈壘鍒拌矾鐢变俊鎭�");
}
task.TaskStatus = (int)TaskInStatusEnum.InNew;
task.CurrentAddress = source.SourceAddress;
task.NextAddress = routers.ChildPosi;
+
+ return content.OK();
}
/// <summary>
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/OutboundTaskFlowService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/OutboundTaskFlowService.cs
index 6082140..5e1e70b 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/OutboundTaskFlowService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/OutboundTaskFlowService.cs
@@ -56,18 +56,20 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS浠诲姟鍘熷鏁版嵁銆�</param>
- public void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source)
+ public WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source)
{
+ WebResponseContent content = new WebResponseContent();
int taskType = task.TaskType == (int)TaskOutboundTypeEnum.OutEmpty ? 100 : task.TaskType;
Dt_Router router = _routerService.QueryNextRoute(source.Roadway, source.TargetAddress, taskType);
if (router == null)
{
- return;
+ return content.Error("鏈壘鍒拌澶囪矾鐢变俊鎭�");
}
task.TaskStatus = (int)TaskOutStatusEnum.OutNew;
task.CurrentAddress = source.SourceAddress;
task.NextAddress = router.ChildPosi;
+ return content.OK();
}
/// <summary>
@@ -135,15 +137,25 @@
task.Modifier = "System";
// 閫氱煡WMS鍑哄簱瀹屾垚骞惰幏鍙栬繑鍥炵粨鏋�
+ return NotifyWMSOutboundFinish(task);
+ }
+
+ /// <summary>
+ /// 閫氱煡WMS鍑哄簱瀹屾垚銆�
+ /// </summary>
+ /// <param name="task">浠诲姟瀹炰綋銆�</param>
+ /// <returns>閫氱煡缁撴灉銆�</returns>
+ private WebResponseContent NotifyWMSOutboundFinish(Dt_Task task)
+ {
+ WebResponseContent content = new WebResponseContent();
+
+ // 閫氱煡WMS鍑哄簱瀹屾垚骞惰幏鍙栬繑鍥炵粨鏋�
var result = _httpClientHelper.Post<WebResponseContent>(
nameof(ConfigKey.OutboundFinishTaskAsync),
new StockInfoDTO { PalletCode = task.PalletCode, TaskNum = task.TaskNum }.ToJson());
if (!result.IsSuccess || !result.Data.Status)
- {
return content.Error($"閫氱煡WMS绯荤粺鍫嗗灈鏈哄嚭搴撳畬鎴愬け璐�,浠诲姟鍙�:銆恵task.TaskNum}銆�,鎵樼洏鍙�:銆恵task.PalletCode}銆�,閿欒淇℃伅:銆恵result.Data?.Message}銆�");
- }
-
// 澶勭悊WMS杩斿洖鐨勫叆搴撲换鍔★紙濡傛灉鏈夛級
if (result.Data?.Data != null)
{
@@ -171,25 +183,7 @@
});
}
}
-
return content.OK($"閫氱煡WMS绯荤粺鍫嗗灈鏈哄嚭搴撳畬鎴愭垚鍔�,浠诲姟鍙�:銆恵task.TaskNum}銆�,鎵樼洏鍙�:銆恵task.PalletCode}銆�");
- }
-
- /// <summary>
- /// 閫氱煡WMS鍑哄簱瀹屾垚銆�
- /// </summary>
- /// <param name="task">浠诲姟瀹炰綋銆�</param>
- /// <returns>閫氱煡缁撴灉銆�</returns>
- private WebResponseContent NotifyWMSOutboundFinish(Dt_Task task)
- {
- var result = _httpClientHelper.Post<WebResponseContent>(
- nameof(ConfigKey.OutboundFinishTaskAsync),
- new StockInfoDTO { PalletCode = task.PalletCode, TaskNum = task.TaskNum }.ToJson());
-
- if (!result.IsSuccess || !result.Data.Status)
- return WebResponseContent.Instance.Error($"閫氱煡WMS绯荤粺鍫嗗灈鏈哄嚭搴撳畬鎴愬け璐�,浠诲姟鍙�:銆恵task.TaskNum}銆�,鎵樼洏鍙�:銆恵task.PalletCode}銆�,閿欒淇℃伅:銆恵result.Data?.Message}銆�");
-
- return WebResponseContent.Instance.OK();
}
/// <summary>
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RelocationTaskFlowService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RelocationTaskFlowService.cs
index c94804e..0556392 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RelocationTaskFlowService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RelocationTaskFlowService.cs
@@ -34,9 +34,10 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS浠诲姟鍘熷鏁版嵁銆�</param>
- public void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source)
+ public WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source)
{
// 褰撳墠鐗堟湰绉诲簱浠诲姟鎺ユ敹鏃朵笉闇�瑕侀澶栬缃矾鐢辨垨鐘舵�併��
+ return WebResponseContent.Instance.OK();
}
/// <summary>
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RobotTaskFlowService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RobotTaskFlowService.cs
index 271cd9b..68dfd39 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RobotTaskFlowService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Flows/RobotTaskFlowService.cs
@@ -19,9 +19,10 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS浠诲姟鍘熷鏁版嵁銆�</param>
- public void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source)
+ public WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source)
{
// 褰撳墠鐗堟湰鏈烘鎵嬩换鍔℃帴鏀舵椂涓嶉渶瑕侀澶栬缃矾鐢辨垨鐘舵�併��
+ return WebResponseContent.Instance.OK();
}
/// <summary>
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 1032614..478ba06 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -112,7 +112,9 @@
}
Dt_Task task = _mapper.Map<Dt_Task>(item);
task.Creater = "WMS";
- InitializeTaskOnReceive(task, item);
+ content = InitializeTaskOnReceive(task, item);
+ if (!content.Status)
+ return content;
tasks.Add(task);
}
// TOOD: 杩欓噷娉ㄦ剰娣诲姞閿欒瑕佽繑鍥為敊璇�
@@ -170,24 +172,20 @@
/// </summary>
/// <param name="task">浠诲姟瀹炰綋銆�</param>
/// <param name="source">WMS鍘熷浠诲姟瀵硅薄銆�</param>
- private void InitializeTaskOnReceive(Dt_Task task, WMSTaskDTO source)
+ private WebResponseContent InitializeTaskOnReceive(Dt_Task task, WMSTaskDTO source)
{
switch (task.TaskType.GetTaskTypeGroup())
{
case TaskTypeGroup.OutbondGroup:
- _outboundTaskFlowService.InitializeOnReceive(task, source);
- break;
+ return _outboundTaskFlowService.InitializeOnReceive(task, source);
case TaskTypeGroup.InboundGroup:
- _inboundTaskFlowService.InitializeOnReceive(task, source);
- break;
+ return _inboundTaskFlowService.InitializeOnReceive(task, source);
case TaskTypeGroup.RelocationGroup:
- _relocationTaskFlowService.InitializeOnReceive(task, source);
- break;
+ return _relocationTaskFlowService.InitializeOnReceive(task, source);
case TaskTypeGroup.OtherGroup:
- _robotTaskFlowService.InitializeOnReceive(task, source);
- break;
+ return _robotTaskFlowService.InitializeOnReceive(task, source);
default:
- break;
+ return WebResponseContent.Instance.Error("WCS涓嶅瓨鍦ㄥ綋鍓嶄换鍔$殑浠诲姟绫诲瀷");
}
}
@@ -398,7 +396,9 @@
&& result.Data is List<WMSTaskDTO> wmsTasks
&& wmsTasks.Count > 0)
{
- return ReceiveWMSTask(wmsTasks);
+ WebResponseContent content = ReceiveWMSTask(wmsTasks);
+ if (!content.Status)
+ return content;
}
// 鏇存柊浠诲姟鏁版嵁
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs
index e9c6ad5..edbdda4 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs
@@ -133,8 +133,7 @@
if (childDeviceCodes == null || childDeviceCodes.Count == 0)
{
// 娌℃湁瀛愯澶囷紝鐩存帴杩斿洖
- _logger.LogInformation("杈撻�佺嚎 {DeviceCode} 娌℃湁瀛愯澶�", conveyorLine.DeviceCode);
- QuartzLogger.Info($"杈撻�佺嚎 {conveyorLine.DeviceCode} 娌℃湁瀛愯澶�", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "杈撻�佺嚎 {DeviceCode} 娌℃湁瀛愯澶�", $"杈撻�佺嚎 {conveyorLine.DeviceCode} 娌℃湁瀛愯澶�", conveyorLine.DeviceCode, conveyorLine.DeviceCode);
return Task.CompletedTask;
}
@@ -162,8 +161,6 @@
// 濡傛灉鍛戒护涓虹┖锛岃烦杩�
if (command == null)
{
- _logger.LogDebug("Execute锛氬瓙璁惧 {ChildDeviceCode} 鍛戒护涓虹┖锛岃烦杩�", childDeviceCode);
- QuartzLogger.Debug($"瀛愯澶� {childDeviceCode} 鍛戒护涓虹┖锛岃烦杩�", conveyorLine.DeviceCode);
continue;
}
@@ -186,8 +183,7 @@
{
// 娌℃湁浠诲姟锛屽悜 WMS 璇锋眰鍑哄簱鎵樼洏浠诲姟
var position = checkPalletPositions.FirstOrDefault(x => x.Code == childDeviceCode);
- _logger.LogInformation("Execute锛氭鏌ユ墭鐩樹綅缃� {ChildDeviceCode}锛岃姹俉MS鍑哄簱鎵樼洏浠诲姟", childDeviceCode);
- QuartzLogger.Info($"妫�鏌ユ墭鐩樹綅缃� {childDeviceCode}锛岃姹俉MS鍑哄簱鎵樼洏浠诲姟", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "Execute锛氭鏌ユ墭鐩樹綅缃� {ChildDeviceCode}锛岃姹俉MS鍑哄簱鎵樼洏浠诲姟", $"妫�鏌ユ墭鐩樹綅缃� {childDeviceCode}锛岃姹俉MS鍑哄簱鎵樼洏浠诲姟", conveyorLine.DeviceCode, childDeviceCode);
var responseResult = _httpClientHelper.Post<WebResponseContent>("GetOutBoundTrayTaskAsync", new CreateTaskDto()
{
@@ -229,8 +225,7 @@
}
catch (Exception ex)
{
- _logger.LogError(ex, "澶勭悊鎵嬪姩鍏ュ簱浠诲姟寮傚父");
- QuartzLogger.Error($"澶勭悊鎵嬪姩鍏ュ簱浠诲姟寮傚父: {ex.Message}", "CommonConveyorLineNewJob", ex);
+ QuartzLogHelper.LogError(_logger, ex, "澶勭悊鎵嬪姩鍏ュ簱浠诲姟寮傚父", $"澶勭悊鎵嬪姩鍏ュ簱浠诲姟寮傚父: {ex.Message}", "CommonConveyorLineNewJob");
}
continue;
}
@@ -239,8 +234,6 @@
// 鏃犳墭鐩樻潯鐮佹椂锛岃姹傚嚭搴撲换鍔�
if (command.Barcode.IsNullOrEmpty() || command.Barcode.Replace("\0", "") == "")
{
- _logger.LogDebug("Execute锛氬瓙璁惧 {ChildDeviceCode} 鏃犳墭鐩樻潯鐮侊紝璇锋眰鍑哄簱浠诲姟", childDeviceCode);
- QuartzLogger.Debug($"瀛愯澶� {childDeviceCode} 鏃犳墭鐩樻潯鐮侊紝璇锋眰鍑哄簱浠诲姟", conveyorLine.DeviceCode);
_conveyorLineDispatch.RequestOutbound(conveyorLine, command, childDeviceCode);
continue;
}
@@ -252,8 +245,7 @@
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNo, childDeviceCode);
if (!task.IsNullOrEmpty())
{
- _logger.LogInformation("Execute锛氬瓙璁惧 {ChildDeviceCode} 澶勭悊浠诲姟 {TaskNum}锛岀姸鎬�: {Status}", childDeviceCode, task.TaskNum, task.TaskStatus);
- QuartzLogger.Info($"澶勭悊浠诲姟 {task.TaskNum}锛岀姸鎬�: {task.TaskStatus}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "Execute锛氬瓙璁惧 {ChildDeviceCode} 澶勭悊浠诲姟 {TaskNum}锛岀姸鎬�: {Status}", $"澶勭悊浠诲姟 {task.TaskNum}锛岀姸鎬�: {task.TaskStatus}", conveyorLine.DeviceCode, childDeviceCode, task.TaskNum, task.TaskStatus);
// 澶勭悊浠诲姟鐘舵�侊紙鏍规嵁鐘舵�佸垎鍙戝埌涓嶅悓鏂规硶锛�
ProcessTaskState(conveyorLine, command, task, childDeviceCode);
return Task.CompletedTask;
@@ -263,8 +255,7 @@
catch (Exception innerEx)
{
// 璁板綍寮傚父锛屼絾涓嶅奖鍝嶅叾浠栧瓙璁惧鐨勫鐞�
- _logger.LogError(innerEx, "Execute锛氬瓙璁惧 {ChildDeviceCode} 澶勭悊寮傚父锛孋orrelationId: {CorrelationId}", childDeviceCode, correlationId);
- QuartzLogger.Error($"瀛愯澶囧鐞嗗紓甯�: {innerEx.Message}", conveyorLine.DeviceCode, innerEx);
+ QuartzLogHelper.LogError(_logger, innerEx, "Execute锛氬瓙璁惧 {ChildDeviceCode} 澶勭悊寮傚父锛孋orrelationId: {CorrelationId}", $"瀛愯澶囧鐞嗗紓甯�: {innerEx.Message}", conveyorLine.DeviceCode, childDeviceCode, correlationId);
}
}
}
@@ -272,8 +263,7 @@
catch (Exception ex)
{
// 璁板綍鏁翠綋寮傚父
- _logger.LogError(ex, "Execute锛氳緭閫佺嚎 {DeviceCode} 鎵ц寮傚父", ex.Message);
- QuartzLogger.Error($"杈撻�佺嚎鎵ц寮傚父: {ex.Message}", "CommonConveyorLineNewJob", ex);
+ QuartzLogHelper.LogError(_logger, ex, "Execute锛氳緭閫佺嚎 {DeviceCode} 鎵ц寮傚父", $"杈撻�佺嚎鎵ц寮傚父: {ex.Message}", "CommonConveyorLineNewJob", ex.Message);
}
return Task.CompletedTask;
}
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
index 144ba00..614a8bd 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
@@ -105,8 +105,7 @@
{
// 娓呴櫎浠诲姟鍙凤紝琛ㄧず褰撳墠绌洪棽
conveyorLine.SetValue(ConveyorLineDBNameNew.TaskNo, 0, childDeviceCode);
- _logger.LogDebug("HeartBeat锛氬瓙璁惧 {ChildDeviceCode} 蹇冭烦", childDeviceCode);
- QuartzLogger.Debug($"HeartBeat锛氬瓙璁惧 {childDeviceCode} 蹇冭烦", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogDebug(_logger, "HeartBeat锛氬瓙璁惧 {ChildDeviceCode} 蹇冭烦", $"HeartBeat锛氬瓙璁惧 {childDeviceCode} 蹇冭烦", conveyorLine.DeviceCode, childDeviceCode);
}
/// <summary>
@@ -125,8 +124,7 @@
/// <param name="childDeviceCode">瀛愯澶囩紪鐮�</param>
public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandNew command, string childDeviceCode)
{
- _logger.LogInformation("RequestInbound锛氬瓙璁惧 {ChildDeviceCode} 璇锋眰鍏ュ簱", childDeviceCode);
- QuartzLogger.Info($"璇锋眰鍏ュ簱锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "RequestInbound锛氬瓙璁惧 {ChildDeviceCode} 璇锋眰鍏ュ簱", $"璇锋眰鍏ュ簱锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode, childDeviceCode);
// 鍚� WMS 璇锋眰鏂颁换鍔★紙鍩轰簬鏉$爜锛�
if (_taskFilter.RequestWmsTask(command.Barcode, childDeviceCode))
@@ -147,8 +145,7 @@
// 鏇存柊浠诲姟鐘舵�佸埌涓嬩竴闃舵
_taskService.UpdateTaskStatusToNext(task);
- _logger.LogInformation("RequestInbound锛氬叆搴撲换鍔″凡涓嬪彂锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", task.TaskNum, childDeviceCode);
- QuartzLogger.Info($"鍏ュ簱浠诲姟宸蹭笅鍙戯紝浠诲姟鍙�: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "RequestInbound锛氬叆搴撲换鍔″凡涓嬪彂锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"鍏ュ簱浠诲姟宸蹭笅鍙戯紝浠诲姟鍙�: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
}
}
}
@@ -169,13 +166,11 @@
Dt_Task? task = _taskFilter.QueryExecutingTask(command.TaskNo, childDeviceCode);
if (task == null)
{
- _logger.LogDebug("RequestInNextAddress锛氫换鍔� {TaskNo} 涓嶅瓨鍦�", command.TaskNo);
- QuartzLogger.Debug($"RequestInNextAddress锛氫换鍔� {command.TaskNo} 涓嶅瓨鍦�", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogDebug(_logger, "RequestInNextAddress锛氫换鍔� {TaskNo} 涓嶅瓨鍦�", $"RequestInNextAddress锛氫换鍔� {command.TaskNo} 涓嶅瓨鍦�", conveyorLine.DeviceCode, command.TaskNo);
return;
}
- _logger.LogInformation("RequestInNextAddress锛氬叆搴撲笅涓�鍦板潃锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", task.TaskNum, childDeviceCode);
- QuartzLogger.Info($"RequestInNextAddress锛氬叆搴撲笅涓�鍦板潃锛屼换鍔″彿: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "RequestInNextAddress锛氬叆搴撲笅涓�鍦板潃锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"RequestInNextAddress锛氬叆搴撲笅涓�鍦板潃锛屼换鍔″彿: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
// 濡傛灉涓嶆槸绌烘墭鐩樹换鍔★紝澶勭悊鐩爣鍦板潃锛堜笌鎷樻潫鏈�/鎻掓嫈閽夋満浜や簰锛�
if (task.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
@@ -212,8 +207,7 @@
{
// 鍥炲 ACK 纭
conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, (short)1, childDeviceCode);
- _logger.LogInformation("ConveyorLineInFinish锛氬叆搴撳畬鎴愶紝浠诲姟鍙�: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", task.TaskNum, childDeviceCode);
- QuartzLogger.Info($"鍏ュ簱瀹屾垚锛屼换鍔″彿: {task.TaskNum}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "ConveyorLineInFinish锛氬叆搴撳畬鎴愶紝浠诲姟鍙�: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"鍏ュ簱瀹屾垚锛屼换鍔″彿: {task.TaskNum}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
}
@@ -254,8 +248,7 @@
// 鏇存柊浠诲姟鐘舵��
_taskService.UpdateTaskStatusToNext(task);
- _logger.LogInformation("RequestOutbound锛氬嚭搴撲换鍔″凡涓嬪彂锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", task.TaskNum, childDeviceCode);
- QuartzLogger.Info($"鍑哄簱浠诲姟宸蹭笅鍙戯紝浠诲姟鍙�: {task.TaskNum}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "RequestOutbound锛氬嚭搴撲换鍔″凡涓嬪彂锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"鍑哄簱浠诲姟宸蹭笅鍙戯紝浠诲姟鍙�: {task.TaskNum}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
}
}
@@ -275,13 +268,11 @@
Dt_Task? task = _taskFilter.QueryExecutingTask(command.TaskNo, childDeviceCode);
if (task == null)
{
- _logger.LogDebug("RequestOutNextAddress锛氫换鍔� {TaskNo} 涓嶅瓨鍦�", command.TaskNo);
- QuartzLogger.Debug($"RequestOutNextAddress锛氫换鍔� {command.TaskNo} 涓嶅瓨鍦�", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogDebug(_logger, "RequestOutNextAddress锛氫换鍔� {TaskNo} 涓嶅瓨鍦�", $"RequestOutNextAddress锛氫换鍔� {command.TaskNo} 涓嶅瓨鍦�", conveyorLine.DeviceCode, command.TaskNo);
return;
}
- _logger.LogInformation("RequestOutNextAddress锛氬嚭搴撲笅涓�鍦板潃锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", task.TaskNum, childDeviceCode);
- QuartzLogger.Info($"RequestOutNextAddress锛氬嚭搴撲笅涓�鍦板潃锛屼换鍔″彿: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "RequestOutNextAddress锛氬嚭搴撲笅涓�鍦板潃锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"RequestOutNextAddress锛氬嚭搴撲笅涓�鍦板潃锛屼换鍔″彿: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
// 濡傛灉涓嶆槸绌烘墭鐩樹换鍔★紝澶勭悊鐩爣鍦板潃
if (task.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
@@ -315,11 +306,13 @@
// 鏇存柊浠诲姟鐘舵�佸埌涓嬩竴闃舵锛堥�氬父鏄畬鎴愶級
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
- // 鍥炲 ACK 纭
- conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, (short)1, childDeviceCode);
+ if (content.Status)
+ {
+ // 鍥炲 ACK 纭
+ conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, (short)1, childDeviceCode);
+ }
- _logger.LogInformation("ConveyorLineOutFinish锛氬嚭搴撳畬鎴愶紝浠诲姟鍙�: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", task.TaskNum, childDeviceCode);
- QuartzLogger.Info($"鍑哄簱瀹屾垚锛屼换鍔″彿: {task.TaskNum}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "ConveyorLineOutFinish锛氬嚭搴撳畬鎴愶紝瀹屾垚缁撴灉锛歿Status}锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}锛岄敊璇秷鎭�: {Message}", $"鍑哄簱瀹屾垚锛屽畬鎴愮粨鏋滐細{content.Status}锛屼换鍔″彿: {task.TaskNum}锛岄敊璇秷鎭細{content.Message}", conveyorLine.DeviceCode, content.Status, task.TaskNum, childDeviceCode, content.Message);
}
}
}
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs
index c4ecdf4..24c16e3 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs
@@ -418,10 +418,7 @@
string deviceType)
{
// 璁板綍褰撳墠璇锋眰鐘舵�佺殑璋冭瘯鏃ュ織锛屼緵鎺掓煡闂浣跨敤
- _logger.LogDebug("ProcessDeviceRequest锛歿DeviceType}锛屽瓙璁惧: {ChildDeviceCode}锛岀墿鏂欒姹�: {MaterialReq}锛屽嚭鏂欒姹�: {OutputReq}",
- deviceType, childDeviceCode, materialRequest, outputRequest);
- // 鍚屾鍐欏叆 Quartz 鏃ュ織鏂囦欢锛堝弻鍐欏彲杩芥函锛岃繖閲屼繚鐣欎笌鍘熼�昏緫涓�鑷寸殑琛屼负锛�
- QuartzLogger.Debug($"ProcessDeviceRequest锛歿deviceType}锛屽瓙璁惧: {childDeviceCode}锛岀墿鏂欒姹�: {materialRequest}锛屽嚭鏂欒姹�: {outputRequest}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogDebug(_logger, "ProcessDeviceRequest锛歿DeviceType}锛屽瓙璁惧: {ChildDeviceCode}锛岀墿鏂欒姹�: {MaterialReq}锛屽嚭鏂欒姹�: {OutputReq}", $"ProcessDeviceRequest锛歿deviceType}锛屽瓙璁惧: {childDeviceCode}锛岀墿鏂欒姹�: {materialRequest}锛屽嚭鏂欒姹�: {outputRequest}", conveyorLine.DeviceCode, deviceType, childDeviceCode, materialRequest, outputRequest);
// 鍒嗘敮鍒ゆ柇锛氳澶囨槸闇�瑕佺墿鏂欒繕鏄渶瑕佸嚭鏂�
if (materialRequest)
@@ -432,8 +429,7 @@
// 2. 鍥炲 ACK 纭淇″彿锛屽憡鐭ヨ澶囧凡鏀跺埌璇锋眰
conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, 1, childDeviceCode);
// 3. 璁板綍淇℃伅鏃ュ織锛岃〃鏄庡凡瀹屾垚鐩爣鍦板潃璁剧疆鍜� ACK 鍥炲
- _logger.LogInformation("ProcessDeviceRequest锛歿DeviceType} 闇�瑕佺墿鏂欙紝宸茶缃洰鏍囧湴鍧�鍜孉CK", deviceType);
- QuartzLogger.Info($"ProcessDeviceRequest锛歿deviceType} 闇�瑕佺墿鏂欙紝宸茶缃洰鏍囧湴鍧�鍜孉CK", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "ProcessDeviceRequest锛歿DeviceType} 闇�瑕佺墿鏂欙紝宸茶缃洰鏍囧湴鍧�鍜孉CK", $"ProcessDeviceRequest锛歿deviceType} 闇�瑕佺墿鏂欙紝宸茶缃洰鏍囧湴鍧�鍜孉CK", conveyorLine.DeviceCode, deviceType);
}
else
{
@@ -457,10 +453,7 @@
private void WriteDebug(CommonConveyorLine conveyorLine, string scenario, string childDeviceCode, string nextAddress)
{
// 鍐欏叆缁撴瀯鍖栨棩蹇楋紙鍙 Serilog 绛夋棩蹇楁鏋舵崟鑾凤級
- _logger.LogDebug("Handle{Scenario}锛氬瓙璁惧: {ChildDeviceCode}锛岀洰鏍囧湴鍧�: {NextAddress}",
- scenario, childDeviceCode, nextAddress);
- // 鍐欏叆 Quartz 涓撶敤鏃ュ織鏂囦欢锛堜緵瀹氭椂浠诲姟杞ㄨ抗杩借釜锛�
- QuartzLogger.Debug($"Handle{scenario}锛氬瓙璁惧: {childDeviceCode}锛岀洰鏍囧湴鍧�: {nextAddress}", conveyorLine.DeviceCode);
+ QuartzLogHelper.LogDebug(_logger, "Handle{Scenario}锛氬瓙璁惧: {ChildDeviceCode}锛岀洰鏍囧湴鍧�: {NextAddress}", $"Handle{scenario}锛氬瓙璁惧: {childDeviceCode}锛岀洰鏍囧湴鍧�: {nextAddress}", conveyorLine.DeviceCode, scenario, childDeviceCode, nextAddress);
}
}
}
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTaskFilter.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTaskFilter.cs
index 429b7a9..1d3b938 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTaskFilter.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTaskFilter.cs
@@ -56,8 +56,7 @@
public Dt_Task? QueryPendingTask(string deviceCode, string childDeviceCode)
{
var task = _taskService.QueryConveyorLineTask(deviceCode, childDeviceCode);
- _logger.LogDebug("QueryPendingTask锛氳澶� {DeviceCode}锛屽瓙璁惧 {ChildDeviceCode}锛屾煡璇㈢粨鏋�: {TaskNum}", deviceCode, childDeviceCode, task?.TaskNum);
- QuartzLogger.Debug($"QueryPendingTask锛氳澶� {deviceCode}锛屽瓙璁惧 {childDeviceCode}锛屾煡璇㈢粨鏋�: {task?.TaskNum}", deviceCode);
+ QuartzLogHelper.LogDebug(_logger, "QueryPendingTask锛氳澶� {DeviceCode}锛屽瓙璁惧 {ChildDeviceCode}锛屾煡璇㈢粨鏋�: {TaskNum}", $"QueryPendingTask锛氳澶� {deviceCode}锛屽瓙璁惧 {childDeviceCode}锛屾煡璇㈢粨鏋�: {task?.TaskNum}", deviceCode, deviceCode, childDeviceCode, task?.TaskNum);
return task;
}
@@ -74,8 +73,7 @@
public Dt_Task? QueryExecutingTask(int taskNo, string childDeviceCode)
{
var task = _taskService.QueryExecutingConveyorLineTask(taskNo, childDeviceCode);
- _logger.LogDebug("QueryExecutingTask锛氫换鍔″彿 {TaskNo}锛屽瓙璁惧 {ChildDeviceCode}锛屾煡璇㈢粨鏋�: {Found}", taskNo, childDeviceCode, task != null);
- QuartzLogger.Debug($"QueryExecutingTask锛氫换鍔″彿 {taskNo}锛屽瓙璁惧 {childDeviceCode}锛屾煡璇㈢粨鏋�: {(task != null)}", childDeviceCode);
+ QuartzLogHelper.LogDebug(_logger, "QueryExecutingTask锛氫换鍔″彿 {TaskNo}锛屽瓙璁惧 {ChildDeviceCode}锛屾煡璇㈢粨鏋�: {Found}", $"QueryExecutingTask锛氫换鍔″彿 {taskNo}锛屽瓙璁惧 {childDeviceCode}锛屾煡璇㈢粨鏋�: {(task != null)}", childDeviceCode, taskNo, childDeviceCode, task != null);
return task;
}
@@ -91,8 +89,7 @@
/// <returns>璇锋眰鏄惁鎴愬姛</returns>
public bool RequestWmsTask(string barcode, string childDeviceCode)
{
- _logger.LogInformation("RequestWmsTask锛氬悜WMS璇锋眰浠诲姟锛屾潯鐮�: {Barcode}锛屽瓙璁惧: {ChildDeviceCode}", barcode, childDeviceCode);
- QuartzLogger.Info($"鍚慦MS璇锋眰浠诲姟锛屾潯鐮�: {barcode}", childDeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "RequestWmsTask锛氬悜WMS璇锋眰浠诲姟锛屾潯鐮�: {Barcode}锛屽瓙璁惧: {ChildDeviceCode}", $"鍚慦MS璇锋眰浠诲姟锛屾潯鐮�: {barcode}", childDeviceCode, barcode, childDeviceCode);
var result = _taskService.RequestWMSTask(barcode, childDeviceCode);
return result.Status;
}
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/QuartzLogHelper.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/QuartzLogHelper.cs
new file mode 100644
index 0000000..20d43ff
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/QuartzLogHelper.cs
@@ -0,0 +1,85 @@
+using Microsoft.Extensions.Logging;
+using WIDESEAWCS_Core.LogHelper;
+
+namespace WIDESEAWCS_Tasks;
+
+/// <summary>
+/// Quartz 浣滀笟鏃ュ織甯姪绫� - 缁熶竴灏佽 ILogger 鍜� QuartzLogger 鐨勫弻閫氶亾鏃ュ織璁板綍
+/// </summary>
+/// <remarks>
+/// 鎵�鏈� Quartz Job 涓渶瑕佸悓鏃跺啓鍏� ILogger锛圫erilog锛夊拰 QuartzLogger锛堟枃浠舵棩蹇楋級鐨勫満鏅紝
+/// 缁熶竴璋冪敤姝ゅ府鍔╃被鐨勬柟娉曪紝閬垮厤閲嶅缂栧啓涓よ鏃ュ織浠g爜銆�
+/// </remarks>
+public static class QuartzLogHelper
+{
+ /// <summary>
+ /// 璁板綍閿欒鏃ュ織锛堝甫寮傚父瀵硅薄锛�
+ /// </summary>
+ /// <param name="logger">ILogger 瀹炰緥</param>
+ /// <param name="ex">寮傚父瀵硅薄</param>
+ /// <param name="loggerMessage">ILogger 鐨勭粨鏋勫寲鏃ュ織妯℃澘锛堟敮鎸佸崰浣嶇锛�</param>
+ /// <param name="quartzMessage">QuartzLogger 鐨勬棩蹇楁秷鎭�</param>
+ /// <param name="deviceCode">璁惧缂栫爜</param>
+ /// <param name="args">ILogger 缁撴瀯鍖栨棩蹇楃殑鍙傛暟</param>
+ public static void LogError(ILogger logger, Exception ex, string loggerMessage, string quartzMessage, string deviceCode, params object[] args)
+ {
+ logger.LogError(ex, loggerMessage, args);
+ QuartzLogger.Error(quartzMessage, deviceCode, ex);
+ }
+
+ /// <summary>
+ /// 璁板綍閿欒鏃ュ織锛堜笉甯﹀紓甯稿璞★級
+ /// </summary>
+ /// <param name="logger">ILogger 瀹炰緥</param>
+ /// <param name="loggerMessage">ILogger 鐨勭粨鏋勫寲鏃ュ織妯℃澘锛堟敮鎸佸崰浣嶇锛�</param>
+ /// <param name="quartzMessage">QuartzLogger 鐨勬棩蹇楁秷鎭�</param>
+ /// <param name="deviceCode">璁惧缂栫爜</param>
+ /// <param name="args">ILogger 缁撴瀯鍖栨棩蹇楃殑鍙傛暟</param>
+ public static void LogError(ILogger logger, string loggerMessage, string quartzMessage, string deviceCode, params object[] args)
+ {
+ logger.LogError(loggerMessage, args);
+ QuartzLogger.Error(quartzMessage, deviceCode);
+ }
+
+ /// <summary>
+ /// 璁板綍淇℃伅鏃ュ織
+ /// </summary>
+ /// <param name="logger">ILogger 瀹炰緥</param>
+ /// <param name="loggerMessage">ILogger 鐨勭粨鏋勫寲鏃ュ織妯℃澘锛堟敮鎸佸崰浣嶇锛�</param>
+ /// <param name="quartzMessage">QuartzLogger 鐨勬棩蹇楁秷鎭�</param>
+ /// <param name="deviceCode">璁惧缂栫爜</param>
+ /// <param name="args">ILogger 缁撴瀯鍖栨棩蹇楃殑鍙傛暟</param>
+ public static void LogInfo(ILogger logger, string loggerMessage, string quartzMessage, string deviceCode, params object[] args)
+ {
+ logger.LogInformation(loggerMessage, args);
+ QuartzLogger.Info(quartzMessage, deviceCode);
+ }
+
+ /// <summary>
+ /// 璁板綍璀﹀憡鏃ュ織
+ /// </summary>
+ /// <param name="logger">ILogger 瀹炰緥</param>
+ /// <param name="loggerMessage">ILogger 鐨勭粨鏋勫寲鏃ュ織妯℃澘锛堟敮鎸佸崰浣嶇锛�</param>
+ /// <param name="quartzMessage">QuartzLogger 鐨勬棩蹇楁秷鎭�</param>
+ /// <param name="deviceCode">璁惧缂栫爜</param>
+ /// <param name="args">ILogger 缁撴瀯鍖栨棩蹇楃殑鍙傛暟</param>
+ public static void LogWarn(ILogger logger, string loggerMessage, string quartzMessage, string deviceCode, params object[] args)
+ {
+ logger.LogWarning(loggerMessage, args);
+ QuartzLogger.Warn(quartzMessage, deviceCode);
+ }
+
+ /// <summary>
+ /// 璁板綍璋冭瘯鏃ュ織
+ /// </summary>
+ /// <param name="logger">ILogger 瀹炰緥</param>
+ /// <param name="loggerMessage">ILogger 鐨勭粨鏋勫寲鏃ュ織妯℃澘锛堟敮鎸佸崰浣嶇锛�</param>
+ /// <param name="quartzMessage">QuartzLogger 鐨勬棩蹇楁秷鎭�</param>
+ /// <param name="deviceCode">璁惧缂栫爜</param>
+ /// <param name="args">ILogger 缁撴瀯鍖栨棩蹇楃殑鍙傛暟</param>
+ public static void LogDebug(ILogger logger, string loggerMessage, string quartzMessage, string deviceCode, params object[] args)
+ {
+ logger.LogDebug(loggerMessage, args);
+ QuartzLogger.Debug(quartzMessage, deviceCode);
+ }
+}
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
index 8060907..e444092 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -174,8 +174,7 @@
if (!flag || value is not CommonStackerCrane commonStackerCrane)
{
// 鍙傛暟鏃犳晥锛岀洿鎺ヨ繑鍥�
- _logger.LogWarning("Execute锛氬弬鏁版棤鏁�");
- QuartzLogger.Warn("Execute锛氬弬鏁版棤鏁�", "CommonStackerCraneJob");
+ QuartzLogHelper.LogWarn(_logger, "Execute锛氬弬鏁版棤鏁�", "Execute锛氬弬鏁版棤鏁�", "CommonStackerCraneJob");
return Task.CompletedTask;
}
@@ -186,8 +185,7 @@
{
// 缁戝畾浠诲姟瀹屾垚浜嬩欢澶勭悊鏂规硶
commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;
- _logger.LogInformation("Execute锛氳闃呬换鍔″畬鎴愪簨浠讹紝璁惧: {DeviceCode}", _deviceCode);
- QuartzLogger.Info($"璁㈤槄浠诲姟瀹屾垚浜嬩欢", _deviceCode);
+ QuartzLogHelper.LogInfo(_logger, "Execute锛氳闃呬换鍔″畬鎴愪簨浠讹紝璁惧: {DeviceCode}", "璁㈤槄浠诲姟瀹屾垚浜嬩欢", _deviceCode, _deviceCode);
}
// ========== 妫�鏌ュ爢鍨涙満浠诲姟瀹屾垚鐘舵�� ==========
@@ -225,8 +223,7 @@
if (stackerCraneTaskCommand == null)
{
// 鍛戒护鏋勫缓澶辫触
- _logger.LogWarning("Execute锛氬懡浠ゆ瀯寤哄け璐ワ紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", _deviceCode, task.TaskNum);
- QuartzLogger.Warn($"鍛戒护鏋勫缓澶辫触锛屼换鍔″彿: {task.TaskNum}", _deviceCode);
+ QuartzLogHelper.LogWarn(_logger, "Execute锛氬懡浠ゆ瀯寤哄け璐ワ紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", $"鍛戒护鏋勫缓澶辫触锛屼换鍔″彿: {task.TaskNum}", _deviceCode, _deviceCode, task.TaskNum);
return Task.CompletedTask;
}
@@ -240,20 +237,17 @@
commonStackerCrane.LastTaskType = task.TaskType;
_taskService.UpdateTaskStatusToNext(task.TaskNum);
- _logger.LogInformation("Execute锛氬懡浠ゅ彂閫佹垚鍔燂紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", _deviceCode, task.TaskNum);
- QuartzLogger.Info($"鍛戒护鍙戦�佹垚鍔燂紝浠诲姟鍙�: {task.TaskNum}", _deviceCode);
+ QuartzLogHelper.LogInfo(_logger, "Execute锛氬懡浠ゅ彂閫佹垚鍔燂紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", $"鍛戒护鍙戦�佹垚鍔燂紝浠诲姟鍙�: {task.TaskNum}", _deviceCode, _deviceCode, task.TaskNum);
}
else
{
- _logger.LogError("Execute锛氬懡浠ゅ彂閫佸け璐ワ紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", _deviceCode, task.TaskNum);
- QuartzLogger.Error($"鍛戒护鍙戦�佸け璐�", _deviceCode);
+ QuartzLogHelper.LogError(_logger, "Execute锛氬懡浠ゅ彂閫佸け璐ワ紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", $"鍛戒护鍙戦�佸け璐�", _deviceCode, _deviceCode, task.TaskNum);
}
}
catch (Exception ex)
{
// 璁板綍寮傚父
- _logger.LogError(ex, "Execute锛氭墽琛屽紓甯革紝璁惧: {DeviceCode}", _deviceCode);
- QuartzLogger.Error($"鎵ц寮傚父: {ex.Message}", _deviceCode, ex);
+ QuartzLogHelper.LogError(_logger, ex, "Execute锛氭墽琛屽紓甯革紝璁惧: {DeviceCode}", $"鎵ц寮傚父: {ex.Message}", _deviceCode, _deviceCode);
}
return Task.CompletedTask;
@@ -277,8 +271,7 @@
if (stackerCrane != null)
{
// 璁板綍鏃ュ織
- _logger.LogInformation("CommonStackerCrane_StackerCraneTaskCompletedEventHandler锛氫换鍔″畬鎴愶紝浠诲姟鍙�: {TaskNum}", e.TaskNum);
- QuartzLogger.Info($"浠诲姟瀹屾垚锛屼换鍔″彿: {e.TaskNum}", stackerCrane.DeviceCode);
+ QuartzLogHelper.LogInfo(_logger, "CommonStackerCrane_StackerCraneTaskCompletedEventHandler锛氫换鍔″畬鎴愶紝浠诲姟鍙�: {TaskNum}", $"浠诲姟瀹屾垚锛屼换鍔″彿: {e.TaskNum}", stackerCrane.DeviceCode, e.TaskNum);
// 鏇存柊浠诲姟鐘舵�佷负瀹屾垚
if (_taskService.StackCraneTaskCompleted(e.TaskNum).Status)
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneCommandBuilder.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneCommandBuilder.cs
index a8637cb..b3a4cff 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneCommandBuilder.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneCommandBuilder.cs
@@ -105,14 +105,12 @@
{
if (roadway.Contains(mapping.Key))
{
- _logger.LogDebug("GetCommandType锛氬尮閰嶅贩閬� {Roadway}锛屽懡浠ょ被鍨�: {CommandType}", roadway, mapping.Value);
- QuartzLogger.Debug($"GetCommandType锛氬尮閰嶅贩閬� {roadway}锛屽懡浠ょ被鍨�: {mapping.Value}", roadway);
+ QuartzLogHelper.LogDebug(_logger, "GetCommandType锛氬尮閰嶅贩閬� {Roadway}锛屽懡浠ょ被鍨�: {CommandType}", $"GetCommandType锛氬尮閰嶅贩閬� {roadway}锛屽懡浠ょ被鍨�: {mapping.Value}", roadway, roadway, mapping.Value);
return mapping.Value;
}
}
- _logger.LogDebug("GetCommandType锛氬贩閬� {Roadway} 鏈尮閰嶏紝浣跨敤榛樿鍛戒护绫诲瀷: {DefaultType}", roadway, _config.DefaultCommandType);
- QuartzLogger.Debug($"GetCommandType锛氬贩閬� {roadway} 鏈尮閰嶏紝浣跨敤榛樿鍛戒护绫诲瀷: {_config.DefaultCommandType}", roadway);
+ QuartzLogHelper.LogDebug(_logger, "GetCommandType锛氬贩閬� {Roadway} 鏈尮閰嶏紝浣跨敤榛樿鍛戒护绫诲瀷: {DefaultType}", $"GetCommandType锛氬贩閬� {roadway} 鏈尮閰嶏紝浣跨敤榛樿鍛戒护绫诲瀷: {_config.DefaultCommandType}", roadway, roadway, _config.DefaultCommandType);
return _config.DefaultCommandType;
}
@@ -172,8 +170,7 @@
// 鑾峰彇浠诲姟绫诲瀷鍒嗙粍
TaskTypeGroup taskTypeGroup = task.TaskType.GetTaskTypeGroup();
- _logger.LogDebug("BuildCommand锛氫换鍔″彿: {TaskNum}锛屼换鍔$被鍨嬪垎缁�: {TaskTypeGroup}", task.TaskNum, taskTypeGroup);
- QuartzLogger.Debug($"BuildCommand锛氫换鍔″彿: {task.TaskNum}锛屼换鍔$被鍨嬪垎缁�: {taskTypeGroup}", task.Roadway);
+ QuartzLogHelper.LogDebug(_logger, "BuildCommand锛氫换鍔″彿: {TaskNum}锛屼换鍔$被鍨嬪垎缁�: {TaskTypeGroup}", $"BuildCommand锛氫换鍔″彿: {task.TaskNum}锛屼换鍔$被鍨嬪垎缁�: {taskTypeGroup}", task.Roadway, task.TaskNum, taskTypeGroup);
// 鏍规嵁浠诲姟绫诲瀷鍒嗗彂鏋勫缓
return taskTypeGroup switch
@@ -200,8 +197,7 @@
/// <returns>濉厖濂界殑鍛戒护瀵硅薄</returns>
private T? BuildInboundCommand<T>(Dt_Task task, T command) where T : class
{
- _logger.LogInformation("BuildInboundCommand锛氭瀯寤哄叆搴撳懡浠わ紝浠诲姟鍙�: {TaskNum}", task.TaskNum);
- QuartzLogger.Info($"BuildInboundCommand锛氭瀯寤哄叆搴撳懡浠わ紝浠诲姟鍙�: {task.TaskNum}", task.Roadway);
+ QuartzLogHelper.LogInfo(_logger, "BuildInboundCommand锛氭瀯寤哄叆搴撳懡浠わ紝浠诲姟鍙�: {TaskNum}", $"BuildInboundCommand锛氭瀯寤哄叆搴撳懡浠わ紝浠诲姟鍙�: {task.TaskNum}", task.Roadway, task.TaskNum);
// 纭畾浠诲姟绫诲瀷锛堢┖鎵樼洏鐢ㄧ壒娈婄被鍨嬶級
int taskType = 0;
@@ -217,8 +213,7 @@
if (router == null)
{
// 鏈壘鍒扮珯鍙帮紝鏇存柊寮傚父淇℃伅
- _logger.LogError("BuildInboundCommand锛氭湭鎵惧埌绔欏彴銆恵CurrentAddress}銆戜俊鎭紝浠诲姟鍙�: {TaskNum}", task.CurrentAddress, task.TaskNum);
- QuartzLogger.Error($"BuildInboundCommand锛氭湭鎵惧埌绔欏彴銆恵task.CurrentAddress}銆戜俊鎭�", task.Roadway);
+ QuartzLogHelper.LogError(_logger, "BuildInboundCommand锛氭湭鎵惧埌绔欏彴銆恵CurrentAddress}銆戜俊鎭紝浠诲姟鍙�: {TaskNum}", $"BuildInboundCommand锛氭湭鎵惧埌绔欏彴銆恵task.CurrentAddress}銆戜俊鎭�", task.Roadway, task.CurrentAddress, task.TaskNum);
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.CurrentAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅");
return null;
}
@@ -231,8 +226,7 @@
// 瑙f瀽鐩爣鍦板潃锛堝簱浣嶅湴鍧�锛�
if (!TryParseAddress(task.NextAddress, out short endRow, out short endColumn, out short endLayer))
{
- _logger.LogError("BuildInboundCommand锛氬叆搴撲换鍔$粓鐐瑰湴鍧�瑙f瀽澶辫触锛岀粓鐐�: {NextAddress}锛屼换鍔″彿: {TaskNum}", task.NextAddress, task.TaskNum);
- QuartzLogger.Error($"BuildInboundCommand锛氬叆搴撲换鍔$粓鐐瑰湴鍧�瑙f瀽澶辫触锛岀粓鐐�: {task.NextAddress}", task.Roadway);
+ QuartzLogHelper.LogError(_logger, "BuildInboundCommand锛氬叆搴撲换鍔$粓鐐瑰湴鍧�瑙f瀽澶辫触锛岀粓鐐�: {NextAddress}锛屼换鍔″彿: {TaskNum}", $"BuildInboundCommand锛氬叆搴撲换鍔$粓鐐瑰湴鍧�瑙f瀽澶辫触锛岀粓鐐�: {task.NextAddress}", task.Roadway, task.NextAddress, task.TaskNum);
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
return null;
}
@@ -242,9 +236,7 @@
SetCommandProperty(command, "EndColumn", endColumn);
SetCommandProperty(command, "EndLayer", endLayer);
- _logger.LogInformation("BuildInboundCommand锛氬叆搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {StartRow}-{StartColumn}-{StartLayer}锛岀粓鐐�: {EndRow}-{EndColumn}-{EndLayer}锛屼换鍔″彿: {TaskNum}",
- router.SrmRow, router.SrmColumn, router.SrmLayer, endRow, endColumn, endLayer, task.TaskNum);
- QuartzLogger.Info($"BuildInboundCommand锛氬叆搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {router.SrmRow}-{router.SrmColumn}-{router.SrmLayer}锛岀粓鐐�: {endRow}-{endColumn}-{endLayer}", task.Roadway);
+ QuartzLogHelper.LogInfo(_logger, "BuildInboundCommand锛氬叆搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {StartRow}-{StartColumn}-{StartLayer}锛岀粓鐐�: {EndRow}-{EndColumn}-{EndLayer}锛屼换鍔″彿: {TaskNum}", $"BuildInboundCommand锛氬叆搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {router.SrmRow}-{router.SrmColumn}-{router.SrmLayer}锛岀粓鐐�: {endRow}-{endColumn}-{endLayer}", task.Roadway, router.SrmRow, router.SrmColumn, router.SrmLayer, endRow, endColumn, endLayer, task.TaskNum);
return command;
}
@@ -264,8 +256,7 @@
/// <returns>濉厖濂界殑鍛戒护瀵硅薄</returns>
private T? BuildOutboundCommand<T>(Dt_Task task, T command) where T : class
{
- _logger.LogInformation("BuildOutboundCommand锛氭瀯寤哄嚭搴撳懡浠わ紝浠诲姟鍙�: {TaskNum}", task.TaskNum);
- QuartzLogger.Info($"BuildOutboundCommand锛氭瀯寤哄嚭搴撳懡浠わ紝浠诲姟鍙�: {task.TaskNum}", task.Roadway);
+ QuartzLogHelper.LogInfo(_logger, "BuildOutboundCommand锛氭瀯寤哄嚭搴撳懡浠わ紝浠诲姟鍙�: {TaskNum}", $"BuildOutboundCommand锛氭瀯寤哄嚭搴撳懡浠わ紝浠诲姟鍙�: {task.TaskNum}", task.Roadway, task.TaskNum);
// 纭畾浠诲姟绫诲瀷
int taskType = 0;
@@ -280,8 +271,7 @@
Dt_Router? router = _routerService.QueryNextRoute(task.Roadway, task.TargetAddress, taskType);
if (router == null)
{
- _logger.LogError("BuildOutboundCommand锛氭湭鎵惧埌绔欏彴銆恵TargetAddress}銆戜俊鎭紝浠诲姟鍙�: {TaskNum}", task.TargetAddress, task.TaskNum);
- QuartzLogger.Error($"BuildOutboundCommand锛氭湭鎵惧埌绔欏彴銆恵task.TargetAddress}銆戜俊鎭�", task.Roadway);
+ QuartzLogHelper.LogError(_logger, "BuildOutboundCommand锛氭湭鎵惧埌绔欏彴銆恵TargetAddress}銆戜俊鎭紝浠诲姟鍙�: {TaskNum}", $"BuildOutboundCommand锛氭湭鎵惧埌绔欏彴銆恵task.TargetAddress}銆戜俊鎭�", task.Roadway, task.TargetAddress, task.TaskNum);
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.TargetAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鏀捐揣绔欏彴淇℃伅");
return null;
}
@@ -294,8 +284,7 @@
// 瑙f瀽璧峰鍦板潃锛堝簱浣嶅湴鍧�锛�
if (!TryParseAddress(task.CurrentAddress, out short startRow, out short startColumn, out short startLayer))
{
- _logger.LogError("BuildOutboundCommand锛氬嚭搴撲换鍔¤捣鐐瑰湴鍧�瑙f瀽澶辫触锛岃捣鐐�: {CurrentAddress}锛屼换鍔″彿: {TaskNum}", task.CurrentAddress, task.TaskNum);
- QuartzLogger.Error($"BuildOutboundCommand锛氬嚭搴撲换鍔¤捣鐐瑰湴鍧�瑙f瀽澶辫触锛岃捣鐐�: {task.CurrentAddress}", task.Roadway);
+ QuartzLogHelper.LogError(_logger, "BuildOutboundCommand锛氬嚭搴撲换鍔¤捣鐐瑰湴鍧�瑙f瀽澶辫触锛岃捣鐐�: {CurrentAddress}锛屼换鍔″彿: {TaskNum}", $"BuildOutboundCommand锛氬嚭搴撲换鍔¤捣鐐瑰湴鍧�瑙f瀽澶辫触锛岃捣鐐�: {task.CurrentAddress}", task.Roadway, task.CurrentAddress, task.TaskNum);
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
return null;
}
@@ -305,9 +294,7 @@
SetCommandProperty(command, "StartColumn", startColumn);
SetCommandProperty(command, "StartLayer", startLayer);
- _logger.LogInformation("BuildOutboundCommand锛氬嚭搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {StartRow}-{StartColumn}-{StartLayer}锛岀粓鐐�: {EndRow}-{EndColumn}-{EndLayer}锛屼换鍔″彿: {TaskNum}",
- startRow, startColumn, startLayer, router.SrmRow, router.SrmColumn, router.SrmLayer, task.TaskNum);
- QuartzLogger.Info($"BuildOutboundCommand锛氬嚭搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {startRow}-{startColumn}-{startLayer}锛岀粓鐐�: {router.SrmRow}-{router.SrmColumn}-{router.SrmLayer}", task.Roadway);
+ QuartzLogHelper.LogInfo(_logger, "BuildOutboundCommand锛氬嚭搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {StartRow}-{StartColumn}-{StartLayer}锛岀粓鐐�: {EndRow}-{EndColumn}-{EndLayer}锛屼换鍔″彿: {TaskNum}", $"BuildOutboundCommand锛氬嚭搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {startRow}-{startColumn}-{startLayer}锛岀粓鐐�: {router.SrmRow}-{router.SrmColumn}-{router.SrmLayer}", task.Roadway, startRow, startColumn, startLayer, router.SrmRow, router.SrmColumn, router.SrmLayer, task.TaskNum);
return command;
}
@@ -327,14 +314,12 @@
/// <returns>濉厖濂界殑鍛戒护瀵硅薄</returns>
private T? BuildRelocationCommand<T>(Dt_Task task, T command) where T : class
{
- _logger.LogInformation("BuildRelocationCommand锛氭瀯寤虹Щ搴撳懡浠わ紝浠诲姟鍙�: {TaskNum}", task.TaskNum);
- QuartzLogger.Info($"BuildRelocationCommand锛氭瀯寤虹Щ搴撳懡浠わ紝浠诲姟鍙�: {task.TaskNum}", task.Roadway);
+ QuartzLogHelper.LogInfo(_logger, "BuildRelocationCommand锛氭瀯寤虹Щ搴撳懡浠わ紝浠诲姟鍙�: {TaskNum}", $"BuildRelocationCommand锛氭瀯寤虹Щ搴撳懡浠わ紝浠诲姟鍙�: {task.TaskNum}", task.Roadway, task.TaskNum);
// 瑙f瀽鐩爣鍦板潃
if (!TryParseAddress(task.NextAddress, out short endRow, out short endColumn, out short endLayer))
{
- _logger.LogError("BuildRelocationCommand锛氱Щ搴撲换鍔$粓鐐瑰湴鍧�瑙f瀽澶辫触锛岀粓鐐�: {NextAddress}锛屼换鍔″彿: {TaskNum}", task.NextAddress, task.TaskNum);
- QuartzLogger.Error($"BuildRelocationCommand锛氱Щ搴撲换鍔$粓鐐瑰湴鍧�瑙f瀽澶辫触锛岀粓鐐�: {task.NextAddress}", task.Roadway);
+ QuartzLogHelper.LogError(_logger, "BuildRelocationCommand锛氱Щ搴撲换鍔$粓鐐瑰湴鍧�瑙f瀽澶辫触锛岀粓鐐�: {NextAddress}锛屼换鍔″彿: {TaskNum}", $"BuildRelocationCommand锛氱Щ搴撲换鍔$粓鐐瑰湴鍧�瑙f瀽澶辫触锛岀粓鐐�: {task.NextAddress}", task.Roadway, task.NextAddress, task.TaskNum);
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岀粓鐐癸細銆恵task.NextAddress}銆�");
return null;
}
@@ -347,8 +332,7 @@
// 瑙f瀽璧峰鍦板潃
if (!TryParseAddress(task.CurrentAddress, out short startRow, out short startColumn, out short startLayer))
{
- _logger.LogError("BuildRelocationCommand锛氱Щ搴撲换鍔¤捣鐐瑰湴鍧�瑙f瀽澶辫触锛岃捣鐐�: {CurrentAddress}锛屼换鍔″彿: {TaskNum}", task.CurrentAddress, task.TaskNum);
- QuartzLogger.Error($"BuildRelocationCommand锛氱Щ搴撲换鍔¤捣鐐瑰湴鍧�瑙f瀽澶辫触锛岃捣鐐�: {task.CurrentAddress}", task.Roadway);
+ QuartzLogHelper.LogError(_logger, "BuildRelocationCommand锛氱Щ搴撲换鍔¤捣鐐瑰湴鍧�瑙f瀽澶辫触锛岃捣鐐�: {CurrentAddress}锛屼换鍔″彿: {TaskNum}", $"BuildRelocationCommand锛氱Щ搴撲换鍔¤捣鐐瑰湴鍧�瑙f瀽澶辫触锛岃捣鐐�: {task.CurrentAddress}", task.Roadway, task.CurrentAddress, task.TaskNum);
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
return null;
}
@@ -358,9 +342,7 @@
SetCommandProperty(command, "StartColumn", startColumn);
SetCommandProperty(command, "StartLayer", startLayer);
- _logger.LogInformation("BuildRelocationCommand锛氱Щ搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {StartRow}-{StartColumn}-{StartLayer}锛岀粓鐐�: {EndRow}-{EndColumn}-{EndLayer}锛屼换鍔″彿: {TaskNum}",
- startRow, startColumn, startLayer, endRow, endColumn, endLayer, task.TaskNum);
- QuartzLogger.Info($"BuildRelocationCommand锛氱Щ搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {startRow}-{startColumn}-{startLayer}锛岀粓鐐�: {endRow}-{endColumn}-{endLayer}", task.Roadway);
+ QuartzLogHelper.LogInfo(_logger, "BuildRelocationCommand锛氱Щ搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {StartRow}-{StartColumn}-{StartLayer}锛岀粓鐐�: {EndRow}-{EndColumn}-{EndLayer}锛屼换鍔″彿: {TaskNum}", $"BuildRelocationCommand锛氱Щ搴撳懡浠ゆ瀯寤烘垚鍔燂紝璧风偣: {startRow}-{startColumn}-{startLayer}锛岀粓鐐�: {endRow}-{endColumn}-{endLayer}", task.Roadway, startRow, startColumn, startLayer, endRow, endColumn, endLayer, task.TaskNum);
return command;
}
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs
index b92261d..3e48c96 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs
@@ -109,8 +109,7 @@
{
// 娌℃湁涓婁竴浠诲姟绫诲瀷锛屾煡璇㈡櫘閫氫换鍔�
candidateTask = _taskService.QueryStackerCraneTask(deviceCode);
- _logger.LogDebug("SelectTask锛氭煡璇㈡櫘閫氫换鍔★紝璁惧: {DeviceCode}锛岀粨鏋�: {TaskNum}", deviceCode, candidateTask?.TaskNum);
- QuartzLogger.Debug($"鏌ヨ鏅�氫换鍔★紝璁惧: {deviceCode}锛岀粨鏋�: {candidateTask?.TaskNum}", deviceCode);
+ QuartzLogHelper.LogDebug(_logger, "SelectTask锛氭煡璇㈡櫘閫氫换鍔★紝璁惧: {DeviceCode}锛岀粨鏋�: {TaskNum}", $"鏌ヨ鏅�氫换鍔★紝璁惧: {deviceCode}锛岀粨鏋�: {candidateTask?.TaskNum}", deviceCode, deviceCode, candidateTask?.TaskNum);
}
else if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
@@ -118,30 +117,26 @@
candidateTask = _taskService.QueryStackerCraneInTask(deviceCode);
// 濡傛灉娌℃湁鍏ュ簱浠诲姟锛屽啀鏌ヤ竴涓嬪嚭搴撲换鍔�
candidateTask ??= _taskService.QueryStackerCraneOutTask(deviceCode);
- _logger.LogDebug("SelectTask锛氬嚭搴撳悗浼樺厛鏌ュ叆搴擄紝璁惧: {DeviceCode}锛岀粨鏋�: {TaskNum}", deviceCode, candidateTask?.TaskNum);
- QuartzLogger.Debug($"鍑哄簱鍚庝紭鍏堟煡鍏ュ簱锛岃澶�: {deviceCode}锛岀粨鏋�: {candidateTask?.TaskNum}", deviceCode);
+ QuartzLogHelper.LogDebug(_logger, "SelectTask锛氬嚭搴撳悗浼樺厛鏌ュ叆搴擄紝璁惧: {DeviceCode}锛岀粨鏋�: {TaskNum}", $"鍑哄簱鍚庝紭鍏堟煡鍏ュ簱锛岃澶�: {deviceCode}锛岀粨鏋�: {candidateTask?.TaskNum}", deviceCode, deviceCode, candidateTask?.TaskNum);
}
else
{
// 涓婁竴浠诲姟鏄叆搴擄紙闈炲嚭搴擄級锛屼紭鍏堟煡鍑哄簱浠诲姟
candidateTask = _taskService.QueryStackerCraneOutTask(deviceCode);
- _logger.LogDebug("SelectTask锛氬叆搴撳悗浼樺厛鏌ュ嚭搴擄紝璁惧: {DeviceCode}锛岀粨鏋�: {TaskNum}", deviceCode, candidateTask?.TaskNum);
- QuartzLogger.Debug($"鍏ュ簱鍚庝紭鍏堟煡鍑哄簱锛岃澶�: {deviceCode}锛岀粨鏋�: {candidateTask?.TaskNum}", deviceCode);
+ QuartzLogHelper.LogDebug(_logger, "SelectTask锛氬叆搴撳悗浼樺厛鏌ュ嚭搴擄紝璁惧: {DeviceCode}锛岀粨鏋�: {TaskNum}", $"鍏ュ簱鍚庝紭鍏堟煡鍑哄簱锛岃澶�: {deviceCode}锛岀粨鏋�: {candidateTask?.TaskNum}", deviceCode, deviceCode, candidateTask?.TaskNum);
}
// 濡傛灉娌℃湁鍊欓�変换鍔★紝杩斿洖 null
if (candidateTask == null)
{
- _logger.LogDebug("SelectTask锛氭病鏈夊�欓�変换鍔★紝璁惧: {DeviceCode}", deviceCode);
- QuartzLogger.Debug($"娌℃湁鍊欓�変换鍔★紝璁惧: {deviceCode}", deviceCode);
+ QuartzLogHelper.LogDebug(_logger, "SelectTask锛氭病鏈夊�欓�変换鍔★紝璁惧: {DeviceCode}", $"娌℃湁鍊欓�変换鍔★紝璁惧: {deviceCode}", deviceCode, deviceCode);
return null;
}
// 濡傛灉涓嶆槸鍑哄簱浠诲姟锛岀洿鎺ヨ繑鍥�
if (candidateTask.TaskType.GetTaskTypeGroup() != TaskTypeGroup.OutbondGroup)
{
- _logger.LogInformation("SelectTask锛氶�変腑闈炲嚭搴撲换鍔★紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}锛屼换鍔$被鍨�: {TaskType}", deviceCode, candidateTask.TaskNum, candidateTask.TaskType);
- QuartzLogger.Info($"閫変腑闈炲嚭搴撲换鍔★紝浠诲姟鍙�: {candidateTask.TaskNum}锛屼换鍔$被鍨�: {candidateTask.TaskType}", deviceCode);
+ QuartzLogHelper.LogInfo(_logger, "SelectTask锛氶�変腑闈炲嚭搴撲换鍔★紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}锛屼换鍔$被鍨�: {TaskType}", $"閫変腑闈炲嚭搴撲换鍔★紝浠诲姟鍙�: {candidateTask.TaskNum}锛屼换鍔$被鍨�: {candidateTask.TaskType}", deviceCode, deviceCode, candidateTask.TaskNum, candidateTask.TaskType);
return candidateTask;
}
@@ -149,8 +144,7 @@
Dt_Task? selectedTask = TrySelectOutboundTask(candidateTask);
if (selectedTask != null)
{
- _logger.LogInformation("SelectTask锛氶�変腑鍑哄簱浠诲姟锛岃澶�: {DeviceCode}锛屼换鍔″彿: {TaskNum}", deviceCode, selectedTask.TaskNum);
- QuartzLogger.Info($"閫変腑鍑哄簱浠诲姟锛屼换鍔″彿: {selectedTask.TaskNum}", deviceCode);
+ QuartzLogHelper.LogInfo(_logger, "SelectTask锛氶�変腑鍑哄簱浠诲姟锛岃澶�: {DeviceCode}锛屼换鍔″彿: {TaskNum}", $"閫変腑鍑哄簱浠诲姟锛屼换鍔″彿: {selectedTask.TaskNum}", deviceCode, deviceCode, selectedTask.TaskNum);
return selectedTask;
}
@@ -167,16 +161,14 @@
selectedTask = TrySelectOutboundTask(alternativeTask);
if (selectedTask != null)
{
- _logger.LogInformation("SelectTask锛氶�変腑澶囬�夊嚭搴撲换鍔★紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", deviceCode, selectedTask.TaskNum);
- QuartzLogger.Info($"閫変腑澶囬�夊嚭搴撲换鍔★紝浠诲姟鍙�: {selectedTask.TaskNum}", deviceCode);
+ QuartzLogHelper.LogInfo(_logger, "SelectTask锛氶�変腑澶囬�夊嚭搴撲换鍔★紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", $"閫変腑澶囬�夊嚭搴撲换鍔★紝浠诲姟鍙�: {selectedTask.TaskNum}", deviceCode, deviceCode, selectedTask.TaskNum);
return selectedTask;
}
}
// 娌℃湁鍙敤鍑哄簱浠诲姟锛屽皾璇曡繑鍥炲叆搴撲换鍔�
var inboundTask = _taskService.QueryStackerCraneInTask(deviceCode);
- _logger.LogInformation("SelectTask锛氳繑鍥炲叆搴撲换鍔★紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", deviceCode, inboundTask?.TaskNum);
- QuartzLogger.Info($"杩斿洖鍏ュ簱浠诲姟锛屼换鍔″彿: {inboundTask?.TaskNum}", deviceCode);
+ QuartzLogHelper.LogInfo(_logger, "SelectTask锛氳繑鍥炲叆搴撲换鍔★紝璁惧: {DeviceCode}锛屼换鍔″彿: {TaskNum}", $"杩斿洖鍏ュ簱浠诲姟锛屼换鍔″彿: {inboundTask?.TaskNum}", deviceCode, deviceCode, inboundTask?.TaskNum);
return inboundTask;
}
@@ -299,8 +291,7 @@
if (router == null)
{
// 鏈壘鍒扮珯鍙拌矾鐢变俊鎭�
- _logger.LogWarning("IsOutTaskStationAvailable锛氭湭鎵惧埌绔欏彴璺敱淇℃伅锛岀珯鍙�: {NextAddress}锛屼换鍔″彿: {TaskNum}", task.NextAddress, task.TaskNum);
- QuartzLogger.Warn($"IsOutTaskStationAvailable锛氭湭鎵惧埌绔欏彴璺敱淇℃伅锛岀珯鍙�: {task.NextAddress}", task.Roadway);
+ QuartzLogHelper.LogWarn(_logger, "IsOutTaskStationAvailable锛氭湭鎵惧埌绔欏彴璺敱淇℃伅锛岀珯鍙�: {NextAddress}锛屼换鍔″彿: {TaskNum}", $"IsOutTaskStationAvailable锛氭湭鎵惧埌绔欏彴璺敱淇℃伅锛岀珯鍙�: {task.NextAddress}", task.Roadway, task.NextAddress, task.TaskNum);
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鏍¢獙绔欏彴");
return false;
}
@@ -310,8 +301,7 @@
if (device == null)
{
// 鏈壘鍒拌澶�
- _logger.LogWarning("IsOutTaskStationAvailable锛氭湭鎵惧埌鍑哄簱绔欏彴瀵瑰簲鐨勯�氳瀵硅薄锛岀珯鍙�: {ChildPosiDeviceCode}锛屼换鍔″彿: {TaskNum}", router.ChildPosiDeviceCode, task.TaskNum);
- QuartzLogger.Warn($"IsOutTaskStationAvailable锛氭湭鎵惧埌鍑哄簱绔欏彴瀵瑰簲鐨勯�氳瀵硅薄锛岀珯鍙�: {router.ChildPosiDeviceCode}", task.Roadway);
+ QuartzLogHelper.LogWarn(_logger, "IsOutTaskStationAvailable锛氭湭鎵惧埌鍑哄簱绔欏彴瀵瑰簲鐨勯�氳瀵硅薄锛岀珯鍙�: {ChildPosiDeviceCode}锛屼换鍔″彿: {TaskNum}", $"IsOutTaskStationAvailable锛氭湭鎵惧埌鍑哄簱绔欏彴瀵瑰簲鐨勯�氳瀵硅薄锛岀珯鍙�: {router.ChildPosiDeviceCode}", task.Roadway, router.ChildPosiDeviceCode, task.TaskNum);
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵router.ChildPosiDeviceCode}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
return false;
}
@@ -321,8 +311,7 @@
// 妫�鏌ョ珯鍙版槸鍚﹁鍗犵敤
bool isOccupied = conveyorLine.IsOccupied(router.ChildPosi);
- _logger.LogInformation("IsOutTaskStationAvailable锛氱珯鍙� {ChildPosi}锛屾槸鍚﹁鍗犵敤: {IsOccupied}锛屼换鍔″彿: {TaskNum}", router.ChildPosi, !isOccupied, task.TaskNum);
- QuartzLogger.Info($"IsOutTaskStationAvailable锛氱珯鍙� {router.ChildPosi}锛屾槸鍚﹁鍗犵敤: {!isOccupied}", task.Roadway);
+ QuartzLogHelper.LogInfo(_logger, "IsOutTaskStationAvailable锛氱珯鍙� {ChildPosi}锛屾槸鍚﹁鍗犵敤: {IsOccupied}锛屼换鍔″彿: {TaskNum}", $"IsOutTaskStationAvailable锛氱珯鍙� {router.ChildPosi}锛屾槸鍚﹁鍗犵敤: {!isOccupied}", task.Roadway, router.ChildPosi, !isOccupied, task.TaskNum);
return isOccupied;
}
diff --git a/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/extend/gridBodyExtension.vue b/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/extend/gridBodyExtension.vue
index cf4fe98..61a1d1c 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/extend/gridBodyExtension.vue
+++ b/Code/WMS/WIDESEA_WMSClient/src/extension/taskinfo/extend/gridBodyExtension.vue
@@ -60,7 +60,8 @@
</el-table-column>
<el-table-column prop="grade" label="浼樺厛绾�" width="100">
<template v-slot="{ row }">
- <el-input-number v-if="row && row.editable" v-model="row.grade" :min="1" :max="99" size="small" style="width: 80px"></el-input-number>
+ <el-input-number v-if="row && row.editable" v-model="row.grade" :min="1" :max="99" size="small"
+ style="width: 80px"></el-input-number>
<span v-else>{{ row ? row.grade : '' }}</span>
</template>
</el-table-column>
@@ -242,7 +243,9 @@
},
getStatusKey(taskType, taskStatus) {
if (taskType === 200) return `inbound_${taskStatus}`;
+ if (taskType === 204) return `inbound_${taskStatus}`;
if (taskType === 100) return `outbound_${taskStatus}`;
+ if (taskType === 140) return `outbound_${taskStatus}`;
if (taskType === 300) return `relocation_${taskStatus}`;
return `other_${taskStatus}`;
},
@@ -250,6 +253,8 @@
if (taskType === 200 && taskStatus === 200) return true;
if (taskType === 100 && taskStatus === 100) return true;
if (taskType === 300 && taskStatus === 300) return true;
+ if (taskType === 140 && taskStatus === 100) return true;
+ if (taskType === 204 && taskStatus === 200) return true;
return false;
},
submitDispatch() {
@@ -308,19 +313,23 @@
color: #606266;
margin-bottom: 10px;
}
+
.dispatch-info .count {
color: #409eff;
font-weight: bold;
}
+
.status-error {
color: #f56c6c;
}
+
.fail-results {
margin-top: 15px;
padding: 10px;
background: #fef0f0;
border-radius: 4px;
}
+
.fail-title {
font-size: 14px;
color: #f56c6c;
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
index 26da00e..65b1321 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
@@ -128,7 +128,7 @@
/// 绌虹鍏ュ簱
/// </summary>
[Description("绌虹鍏ュ簱")]
- InEmpty = 600,
+ InEmpty = 204,
}
public enum TaskOutboundTypeEnum
diff --git "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-1003/config.json" "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-1003/config.json"
index 2f32265..21b7761 100644
--- "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-1003/config.json"
+++ "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-1003/config.json"
@@ -2,7 +2,7 @@
"id": "1003",
"name": "A\u533A_\u5E38\u6E29\u8F93\u9001\u7EBF",
"plcType": "S71500",
- "port": 109,
+ "port": 102,
"activationKey": "",
"autoStart": false,
"protocolTemplateId": "protocol-1003",
diff --git "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-CWSC1/config.json" "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-CWSC1/config.json"
index 4a71574..fe6fa6a 100644
--- "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-CWSC1/config.json"
+++ "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-CWSC1/config.json"
@@ -2,7 +2,7 @@
"id": "CWSC1",
"name": "\u5E38\u6E29\u5806\u579B\u673A",
"plcType": "S71500",
- "port": 103,
+ "port": 102,
"activationKey": "",
"autoStart": false,
"protocolTemplateId": "protocol-CWSC1",
diff --git "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-HCSC1/config.json" "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-HCSC1/config.json"
index 2094de9..e916dec 100644
--- "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-HCSC1/config.json"
+++ "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-HCSC1/config.json"
@@ -2,16 +2,15 @@
"id": "HCSC1",
"name": "\u5316\u6210\u5806\u579B\u673A",
"plcType": "S71500",
- "port": 104,
+ "port": 102,
"activationKey": "",
"autoStart": false,
"protocolTemplateId": "protocol-HCSC1",
"memoryConfig": {
"mRegionSize": 1024,
- "dbBlockCount": 2,
+ "dbBlockCount": 1,
"dbBlockNumbers": [
- 910,
- 900
+ 510
],
"dbBlockSize": 65536,
"iRegionSize": 256,
diff --git "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-PM/config.json" "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-PM/config.json"
index 3a7f9df..b7a503f 100644
--- "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-PM/config.json"
+++ "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/instance-PM/config.json"
@@ -2,7 +2,7 @@
"id": "PM",
"name": "\u63D2\u62D4\u9489\u673A",
"plcType": "S71500",
- "port": 107,
+ "port": 102,
"activationKey": "",
"autoStart": false,
"protocolTemplateId": "protocol-PM",
diff --git "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/protocol-templates.json" "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/protocol-templates.json"
index 43c14cf..b695037 100644
--- "a/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/protocol-templates.json"
+++ "b/Code/\346\265\213\350\257\225\345\267\245\345\205\267/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Server/Data/protocol-templates.json"
@@ -5,7 +5,7 @@
"version": "1.0",
"fields": [
{
- "fieldKey": "GWSC01_InputTaskNum",
+ "fieldKey": "GWSC1_InputTaskNum",
"dbNumber": 100,
"offset": 194,
"bit": 1,
@@ -14,7 +14,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_WorkAction",
+ "fieldKey": "GWSC1_WorkAction",
"dbNumber": 100,
"offset": 192,
"bit": 1,
@@ -23,7 +23,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_InputWorkType",
+ "fieldKey": "GWSC1_InputWorkType",
"dbNumber": 100,
"offset": 198,
"bit": 1,
@@ -32,7 +32,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_InputPickRow",
+ "fieldKey": "GWSC1_InputPickRow",
"dbNumber": 100,
"offset": 208,
"bit": 1,
@@ -41,7 +41,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_InputPickColumn",
+ "fieldKey": "GWSC1_InputPickColumn",
"dbNumber": 100,
"offset": 210,
"bit": 1,
@@ -50,7 +50,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_InputPickLayer",
+ "fieldKey": "GWSC1_InputPickLayer",
"dbNumber": 100,
"offset": 212,
"bit": 1,
@@ -59,7 +59,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_InputPlaceRow",
+ "fieldKey": "GWSC1_InputPlaceRow",
"dbNumber": 100,
"offset": 214,
"bit": 1,
@@ -68,7 +68,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_InputPlaceColumn",
+ "fieldKey": "GWSC1_InputPlaceColumn",
"dbNumber": 100,
"offset": 216,
"bit": 1,
@@ -77,7 +77,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_InputPlaceLayer",
+ "fieldKey": "GWSC1_InputPlaceLayer",
"dbNumber": 100,
"offset": 218,
"bit": 1,
@@ -86,7 +86,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_StackerCraneAutoStatus",
+ "fieldKey": "GWSC1_StackerCraneAutoStatus",
"dbNumber": 100,
"offset": 2,
"bit": 1,
@@ -95,7 +95,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_StackerCraneWorkStatus",
+ "fieldKey": "GWSC1_StackerCraneWorkStatus",
"dbNumber": 100,
"offset": 4,
"bit": 1,
@@ -104,7 +104,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_OutputFaultHigh",
+ "fieldKey": "GWSC1_OutputFaultHigh",
"dbNumber": 100,
"offset": 12,
"bit": 1,
@@ -113,7 +113,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_OutputFaultMid",
+ "fieldKey": "GWSC1_OutputFaultMid",
"dbNumber": 100,
"offset": 16,
"bit": 1,
@@ -122,7 +122,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_OutputFaultLow",
+ "fieldKey": "GWSC1_OutputFaultLow",
"dbNumber": 100,
"offset": 20,
"bit": 1,
@@ -131,7 +131,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_CurrentTaskNum",
+ "fieldKey": "GWSC1_CurrentTaskNum",
"dbNumber": 100,
"offset": 24,
"bit": 1,
@@ -140,7 +140,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_StackerCraneCompleted",
+ "fieldKey": "GWSC1_StackerCraneCompleted",
"dbNumber": 100,
"offset": 28,
"bit": 1,
@@ -149,7 +149,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_OutputCurrentColumn",
+ "fieldKey": "GWSC1_OutputCurrentColumn",
"dbNumber": 100,
"offset": 46,
"bit": 1,
@@ -158,7 +158,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_OutputCurrentLayer",
+ "fieldKey": "GWSC1_OutputCurrentLayer",
"dbNumber": 100,
"offset": 48,
"bit": 1,
@@ -167,7 +167,7 @@
"direction": 2
},
{
- "fieldKey": "GWSC01_StackerCraneStatus",
+ "fieldKey": "GWSC1_StackerCraneStatus",
"dbNumber": 100,
"offset": 96,
"bit": 1,
@@ -183,62 +183,17 @@
"version": "1.0",
"fields": [
{
- "fieldKey": "HCSC01_StackerCraneHeartBeat",
- "dbNumber": 910,
+ "fieldKey": "HCSC1_InputTaskNum",
+ "dbNumber": 510,
"offset": 0,
"bit": 1,
- "dataType": 1,
+ "dataType": 2,
"length": 1,
"direction": 2
},
{
- "fieldKey": "HCSC01_StackerCraneStatus",
- "dbNumber": 910,
- "offset": 6,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_StackerCraneFaultCode",
- "dbNumber": 910,
- "offset": 8,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_StackerCraneWorkStatus",
- "dbNumber": 910,
- "offset": 20,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_StackerCraneRow",
- "dbNumber": 910,
- "offset": 22,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_StackerCraneColumn",
- "dbNumber": 910,
- "offset": 24,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_StackerCraneLayer",
- "dbNumber": 910,
+ "fieldKey": "HCSC1_WorkAction",
+ "dbNumber": 510,
"offset": 26,
"bit": 1,
"dataType": 1,
@@ -246,107 +201,125 @@
"direction": 2
},
{
- "fieldKey": "HCSC01_CurrentTaskNum",
- "dbNumber": 910,
+ "fieldKey": "HCSC1_InputWorkType",
+ "dbNumber": 510,
+ "offset": 4,
+ "bit": 1,
+ "dataType": 1,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_InputPickRow",
+ "dbNumber": 510,
+ "offset": 14,
+ "bit": 1,
+ "dataType": 1,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_InputPickColumn",
+ "dbNumber": 510,
+ "offset": 16,
+ "bit": 1,
+ "dataType": 1,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_InputPickLayer",
+ "dbNumber": 510,
+ "offset": 18,
+ "bit": 1,
+ "dataType": 1,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_InputPlaceRow",
+ "dbNumber": 510,
+ "offset": 20,
+ "bit": 1,
+ "dataType": 1,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_InputPlaceColumn",
+ "dbNumber": 510,
+ "offset": 22,
+ "bit": 1,
+ "dataType": 1,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_InputPlaceLayer",
+ "dbNumber": 510,
+ "offset": 24,
+ "bit": 1,
+ "dataType": 1,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_StackerCraneAutoStatus",
+ "dbNumber": 510,
"offset": 28,
"bit": 1,
- "dataType": 2,
+ "dataType": 1,
"length": 1,
"direction": 2
},
{
- "fieldKey": "HCSC01_StackerCraneWorkAction",
- "dbNumber": 910,
- "offset": 40,
+ "fieldKey": "HCSC1_StackerCraneWorkStatus",
+ "dbNumber": 510,
+ "offset": 30,
"bit": 1,
"dataType": 1,
"length": 1,
"direction": 2
},
{
- "fieldKey": "HCSC01_StackerCraneCompleted",
- "dbNumber": 910,
- "offset": 42,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_HeartBeat",
- "dbNumber": 900,
- "offset": 0,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_TaskNum",
- "dbNumber": 900,
- "offset": 2,
+ "fieldKey": "HCSC1_OutputFaultHigh",
+ "dbNumber": 510,
+ "offset": 32,
"bit": 1,
"dataType": 2,
"length": 1,
"direction": 2
},
{
- "fieldKey": "HCSC01_WorkAction",
- "dbNumber": 900,
+ "fieldKey": "HCSC1_OutputFaultMid",
+ "dbNumber": 510,
+ "offset": 36,
+ "bit": 1,
+ "dataType": 2,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_OutputFaultLow",
+ "dbNumber": 510,
"offset": 40,
"bit": 1,
- "dataType": 1,
+ "dataType": 2,
"length": 1,
"direction": 2
},
{
- "fieldKey": "HCSC01_FireAlarm",
- "dbNumber": 900,
- "offset": 42,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_WorkType",
- "dbNumber": 900,
- "offset": 44,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_StartRow",
- "dbNumber": 900,
- "offset": 46,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_StartColumn",
- "dbNumber": 900,
+ "fieldKey": "HCSC1_CurrentTaskNum",
+ "dbNumber": 510,
"offset": 48,
"bit": 1,
- "dataType": 1,
+ "dataType": 2,
"length": 1,
"direction": 2
},
{
- "fieldKey": "HCSC01_StartLayer",
- "dbNumber": 900,
- "offset": 50,
- "bit": 1,
- "dataType": 1,
- "length": 1,
- "direction": 2
- },
- {
- "fieldKey": "HCSC01_EndRow",
- "dbNumber": 900,
+ "fieldKey": "HCSC1_StackerCraneCompleted",
+ "dbNumber": 510,
"offset": 52,
"bit": 1,
"dataType": 1,
@@ -354,8 +327,8 @@
"direction": 2
},
{
- "fieldKey": "HCSC01_EndColumn",
- "dbNumber": 900,
+ "fieldKey": "HCSC1_OutputCurrentColumn",
+ "dbNumber": 510,
"offset": 54,
"bit": 1,
"dataType": 1,
@@ -363,8 +336,8 @@
"direction": 2
},
{
- "fieldKey": "HCSC01_EndLayer",
- "dbNumber": 900,
+ "fieldKey": "HCSC1_OutputCurrentLayer",
+ "dbNumber": 510,
"offset": 56,
"bit": 1,
"dataType": 1,
@@ -372,12 +345,21 @@
"direction": 2
},
{
- "fieldKey": "HCSC01_Barcode",
- "dbNumber": 900,
+ "fieldKey": "HCSC1_StackerCraneStatus",
+ "dbNumber": 510,
"offset": 58,
"bit": 1,
- "dataType": 3,
- "length": 26,
+ "dataType": 1,
+ "length": 1,
+ "direction": 2
+ },
+ {
+ "fieldKey": "HCSC1_OutputFaultLow1",
+ "dbNumber": 510,
+ "offset": 44,
+ "bit": 1,
+ "dataType": 2,
+ "length": 1,
"direction": 2
}
]
@@ -388,7 +370,7 @@
"version": "1.0",
"fields": [
{
- "fieldKey": "CWSC01_InputTaskNum",
+ "fieldKey": "CWSC1_InputTaskNum",
"dbNumber": 100,
"offset": 194,
"bit": 1,
@@ -397,7 +379,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_WorkAction",
+ "fieldKey": "CWSC1_WorkAction",
"dbNumber": 100,
"offset": 192,
"bit": 1,
@@ -406,7 +388,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_InputWorkType",
+ "fieldKey": "CWSC1_InputWorkType",
"dbNumber": 100,
"offset": 198,
"bit": 1,
@@ -415,7 +397,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_InputPickRow",
+ "fieldKey": "CWSC1_InputPickRow",
"dbNumber": 100,
"offset": 208,
"bit": 1,
@@ -424,7 +406,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_InputPickColumn",
+ "fieldKey": "CWSC1_InputPickColumn",
"dbNumber": 100,
"offset": 210,
"bit": 1,
@@ -433,7 +415,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_InputPickLayer",
+ "fieldKey": "CWSC1_InputPickLayer",
"dbNumber": 100,
"offset": 212,
"bit": 1,
@@ -442,7 +424,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_InputPlaceRow",
+ "fieldKey": "CWSC1_InputPlaceRow",
"dbNumber": 100,
"offset": 214,
"bit": 1,
@@ -451,7 +433,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_InputPlaceColumn",
+ "fieldKey": "CWSC1_InputPlaceColumn",
"dbNumber": 100,
"offset": 216,
"bit": 1,
@@ -460,7 +442,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_InputPlaceLayer",
+ "fieldKey": "CWSC1_InputPlaceLayer",
"dbNumber": 100,
"offset": 218,
"bit": 1,
@@ -469,7 +451,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_StackerCraneAutoStatus",
+ "fieldKey": "CWSC1_StackerCraneAutoStatus",
"dbNumber": 100,
"offset": 2,
"bit": 1,
@@ -478,7 +460,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_StackerCraneWorkStatus",
+ "fieldKey": "CWSC1_StackerCraneWorkStatus",
"dbNumber": 100,
"offset": 4,
"bit": 1,
@@ -487,7 +469,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_OutputFaultHigh",
+ "fieldKey": "CWSC1_OutputFaultHigh",
"dbNumber": 100,
"offset": 12,
"bit": 1,
@@ -496,7 +478,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_OutputFaultMid",
+ "fieldKey": "CWSC1_OutputFaultMid",
"dbNumber": 100,
"offset": 16,
"bit": 1,
@@ -505,7 +487,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_OutputFaultLow",
+ "fieldKey": "CWSC1_OutputFaultLow",
"dbNumber": 100,
"offset": 20,
"bit": 1,
@@ -514,7 +496,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_CurrentTaskNum",
+ "fieldKey": "CWSC1_CurrentTaskNum",
"dbNumber": 100,
"offset": 24,
"bit": 1,
@@ -523,7 +505,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_StackerCraneCompleted",
+ "fieldKey": "CWSC1_StackerCraneCompleted",
"dbNumber": 100,
"offset": 28,
"bit": 1,
@@ -532,7 +514,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_OutputCurrentColumn",
+ "fieldKey": "CWSC1_OutputCurrentColumn",
"dbNumber": 100,
"offset": 46,
"bit": 1,
@@ -541,7 +523,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_OutputCurrentLayer",
+ "fieldKey": "CWSC1_OutputCurrentLayer",
"dbNumber": 100,
"offset": 48,
"bit": 1,
@@ -550,7 +532,7 @@
"direction": 2
},
{
- "fieldKey": "CWSC01_StackerCraneStatus",
+ "fieldKey": "CWSC1_StackerCraneStatus",
"dbNumber": 100,
"offset": 96,
"bit": 1,
--
Gitblit v1.9.3