From 3fb6bfc7d068cafa47906eb6f22d8e2989426f32 Mon Sep 17 00:00:00 2001
From: 陈勇 <chenyong@hnkhzn.com>
Date: 星期二, 19 十一月 2024 09:03:17 +0800
Subject: [PATCH] 合并
---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs | 2
.gitignore | 107 ++++-
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 67 ++-
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Sys_ConfigRepository.cs | 19 +
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs | 9
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/Unbind/UnbindService.cs | 4
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_ConfigService.cs | 36 ++
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 212 +++++------
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 2
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj | 1
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs | 102 ++---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/CateGoryConst.cs | 19 +
/dev/null | 16
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 309 ++++++----------
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs | 4
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.MvcApplicationPartsAssemblyInfo.cs | 2
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs | 47 ++
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/ISys_ConfigRepository.cs | 14
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_ConfigService.cs | 38 ++
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/System/Sys_Config.cs | 54 +++
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/ProcessApply/ProcessApplyService.cs | 2
21 files changed, 643 insertions(+), 423 deletions(-)
diff --git a/.gitignore b/.gitignore
index 09af769..3c927c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1237,25 +1237,76 @@
/Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/Debug/net6.0/LogLibrary.GeneratedMSBuildEditorConfig.editorconfig
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/Debug/net6.0/WIDESEA_IStoragIntegrationServices.GeneratedMSBuildEditorConfig.editorconfig
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/obj/Debug/net6.0/WIDESEA_Core.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/obj/Debug/net6.0/WIDESEA_DTO.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessesRepository/obj/Debug/net6.0/WIDESEA_IBusinessesRepository.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IBusinessServices/obj/Debug/net6.0/WIDESEA_IBusinessServices.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IRepository/obj/Debug/net6.0/WIDESEA_IRepository.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IServices/obj/Debug/net6.0/WIDESEA_IServices.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/obj/Debug/net6.0/WIDESEA_IStorageBasicRepository.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/obj/Debug/net6.0/WIDESEA_IStorageBasicServices.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderRepository/obj/Debug/net6.0/WIDESEA_IStorageOutOrderRepository.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageOutOrderService/obj/Debug/net6.0/WIDESEA_IStorageOutOrderServices.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskRepository/obj/Debug/net6.0/WIDESEA_IStorageTaskRepository.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/obj/Debug/net6.0/WIDESEA_IStorageTaskServices.GeneratedMSBuildEditorConfig.editorconfig
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/Debug/net6.0/WIDESEA_IStoragIntegrationServices.assets.cache
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/Debug/net6.0/WIDESEA_IStoragIntegrationServices.csproj.FileListAbsolute.txt
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/project.assets.json
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/project.nuget.cache
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/WIDESEA_IStoragIntegrationServices.csproj.nuget.dgspec.json
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStoragIntegrationServices/obj/WIDESEA_IStoragIntegrationServices.csproj.nuget.g.props
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/obj/Debug/net6.0/WIDESEA_Model.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/Debug/net6.0/WIDESEAWCS_IBasicInfoService.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/Debug/net6.0/WIDESEAWCS_IBasicInfoService.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/Debug/net6.0/WIDESEAWCS_ISystemRepository.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/Debug/net6.0/WIDESEAWCS_ISystemRepository.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/Debug/net6.0/WIDESEAWCS_ProcessRepository.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/Debug/net6.0/WIDESEAWCS_ProcessRepository.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/Debug/net6.0/WIDESEAWCS_QuartzJob.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/Debug/net6.0/WIDESEAWCS_QuartzJob.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets.removed.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/Debug/net6.0/WIDESEAWCS_SystemRepository.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/Debug/net6.0/WIDESEAWCS_SystemRepository.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/Debug/net6.0/WIDESEAWCS_SystemServices.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/Debug/net6.0/WIDESEAWCS_SystemServices.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_TaskInfoRepository.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/Debug/net6.0/WIDESEAWCS_TaskInfoRepository.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.g.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/Debug/net6.0/WIDESEAWCS_Tasks.assets.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/Debug/net6.0/WIDESEAWCS_Tasks.GeneratedMSBuildEditorConfig.editorconfig
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/project.assets.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/project.nuget.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.dgspec.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.g.props
+/Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/Debug/net6.0/LogLibrary.assets.cache
+/Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/LogLibrary.csproj.nuget.dgspec.json
+/Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/LogLibrary.csproj.nuget.g.props
+/Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/project.assets.json
+/Code Management/WMS/WIDESEA_WMSServer/LogLibrary/obj/project.nuget.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Repository/obj/Debug/net6.0/WIDESEA_Repository.GeneratedMSBuildEditorConfig.editorconfig
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Services/obj/Debug/net6.0/WIDESEA_Services.GeneratedMSBuildEditorConfig.editorconfig
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/obj/Debug/net6.0/WIDESEA_StorageBasicRepository.GeneratedMSBuildEditorConfig.editorconfig
@@ -1267,8 +1318,24 @@
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/obj/Debug/net6.0/WIDESEA_StoragIntegrationServices.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/obj/Debug/net6.0/WIDESEA_StoragIntegrationServices.GeneratedMSBuildEditorConfig.editorconfig
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/obj/WIDESEA_StoragIntegrationServices.csproj.nuget.g.props
-/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/WIDESEA_StoragIntegrationServices.csproj
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/Debug/net6.0/WIDESEA_Tasks.assets.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/project.assets.json
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/project.nuget.cache
/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Tasks/obj/WIDESEA_Tasks.csproj.nuget.dgspec.json
+/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/obj/Debug/net6.0/staticwebassets.removed.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/鍖栨垚鍏ュ簱杈撻�佺嚎/Logs_20241118165252.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/闄堝寲1鍙峰爢鍨涙満/Logs_20241118165246.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/闄堝寲鍏ュ簱杈撻�佺嚎/Logs_20241118165251.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/闄堝寲鍑哄簱杈撻�佺嚎/Logs_20241118165251.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/闈欑疆1鍙峰爢鍨涙満/Logs_20241118165301.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/闈欑疆杈撻�佺嚎/Logs_20241118165311.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/WIDESEAWCS_Server.staticwebassets.endpoints.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/EndpointInfo/WIDESEAWCS_Server.OpenApiFiles.cache
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/EndpointInfo/WIDESEAWCS_Server_V1.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/EndpointInfo/WIDESEAWCS_Server_V2.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.build.WIDESEAWCS_Server.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.WIDESEAWCS_Server.Microsoft.AspNetCore.StaticWebAssetEndpoints.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.WIDESEAWCS_Server.Microsoft.AspNetCore.StaticWebAssets.props
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets.build.endpoints.json
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets.references.upToDateCheck.txt
+/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets.upToDateCheck.txt
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/CateGoryConst.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/CateGoryConst.cs
new file mode 100644
index 0000000..97e05b7
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/CateGoryConst.cs
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Common
+{
+ /// <summary>
+ /// 鍒嗙被甯搁噺
+ /// </summary>
+ public class CateGoryConst
+ {
+ /// <summary>
+ /// IP鎺ュ彛鍦板潃
+ /// </summary>
+ public const string CONFIG_SYS_IPAddress = "SYS_IPAddress";
+ }
+}
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs
new file mode 100644
index 0000000..78d6eb9
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs
@@ -0,0 +1,47 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Common
+{
+ public class SysConfigKeyConst
+ {
+ /// <summary>
+ /// WMS BASE
+ /// </summary>
+ public const string WMSIP_BASE = "WMSIPBASE";
+
+ /// <summary>
+ /// 璇锋眰浠诲姟
+ /// </summary>
+ public const string RequestTask = "RequestTask";
+
+ /// <summary>
+ /// 璇锋眰浠诲姟璐т綅
+ /// </summary>
+ public const string RequestLocation = "RequestLocation";
+
+ /// <summary>
+ /// 淇敼浠诲姟鐘舵��
+ /// </summary>
+
+ public const string UpdateTask = "UpdateTask";
+
+ /// <summary>
+ /// 浠诲姟瀹屾垚
+ /// </summary>
+ public const string CompleteTask = "CompleteTask";
+
+ /// <summary>
+ /// 璇锋眰绌烘墭鐩樹换鍔�
+ /// </summary>
+ public const string RequestTrayInTask = "RequestTrayInTask";
+
+ /// <summary>
+ /// 绌烘墭鐩樺疄鐩樺嚭搴撲换鍔�
+ /// </summary>
+ public const string RequestTrayOutTask = "RequestTrayOutTask";
+ }
+}
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/ISys_ConfigRepository.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/ISys_ConfigRepository.cs
new file mode 100644
index 0000000..2d55ffb
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/ISys_ConfigRepository.cs
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_ISystemRepository
+{
+ public interface ISys_ConfigRepository : IRepository<Sys_Config>
+ {
+ }
+}
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_ConfigService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_ConfigService.cs
new file mode 100644
index 0000000..4796527
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_ConfigService.cs
@@ -0,0 +1,36 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core;
+using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_ISystemServices
+{
+ public interface ISys_ConfigService : IService<Sys_Config>
+ {
+ /// <summary>
+ /// 鑾峰彇鎵�鏈夌郴缁熼厤缃�
+ /// </summary>
+ /// <returns></returns>
+ List<Sys_Config> GetAll();
+
+ /// <summary>
+ /// 鏍规嵁绫诲埆鑾峰彇绯荤粺閰嶇疆
+ /// </summary>
+ /// <param name="category">绫诲埆</param>
+ /// <returns></returns>
+ List<Sys_Config> GetConfigsByCategory(string category);
+
+ /// <summary>
+ /// 鏍规嵁绫诲埆鍜孠ey鑾峰彇绯荤粺閰嶇疆
+ /// </summary>
+ /// <param name="category">绫诲埆</param>
+ /// <param name="configKey">閰嶇疆Key</param>
+ /// <returns></returns>
+ Sys_Config GetByConfigKey(string category, string configKey);
+ }
+}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
index 1a50def..8a41a26 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -63,7 +63,7 @@
/// <param name="palletCode">鎵樼洏鍙�</param>
/// <param name="sourceAddress">璧峰鍦板潃</param>
/// <returns></returns>
- WebResponseContent RequestWMSTask(string palletCode, string sourceAddress);
+ Task<WebResponseContent> RequestWMSTask(string palletCode, string sourceAddress);
/// <summary>
/// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/System/Sys_Config.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/System/Sys_Config.cs
new file mode 100644
index 0000000..bf89f4b
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/System/Sys_Config.cs
@@ -0,0 +1,54 @@
+锘縰sing SqlSugar;
+using WIDESEAWCS_Core.DB.Models;
+using WIDESEAWCS_Core.Tenants;
+
+namespace WIDESEAWCS_Model.Models;
+
+/// <summary>
+/// 绯荤粺閰嶇疆琛�
+/// </summary>
+[SugarTable("Sys_Config", "绯荤粺閰嶇疆琛�"), MultiTenant]
+public class Sys_Config : BaseEntity
+{
+ /// <summary>
+ /// 涓婚敭
+ /// </summary>
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
+ public int Id { get; set; }
+
+ /// <summary>
+ /// 閰嶇疆閿�
+ /// </summary>
+ [SugarColumn(ColumnDescription = "閰嶇疆閿�", Length = 255, IsNullable = false)]
+ public string ConfigKey { get; set; }
+
+ /// <summary>
+ /// 閰嶇疆鍊�
+ /// </summary>
+ [SugarColumn(ColumnDescription = "閰嶇疆鍊�", IsNullable = false, ColumnDataType = "text")]
+ public string ConfigValue { get; set; }
+
+ /// <summary>
+ /// 鍒嗙被
+ /// </summary>
+ [SugarColumn(ColumnDescription = "鍒嗙被", Length = 255, IsNullable = false)]
+ public string Category { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnDescription = "澶囨敞", Length = 255, IsNullable = true)]
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 鎺掑簭鐮�
+ /// </summary>
+ [SugarColumn(ColumnDescription = "鎺掑簭鐮�", IsNullable = true)]
+ public int? SortCode { get; set; }
+
+ /// <summary>
+ /// 鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnDescription = "鐘舵��", Length = 20, IsNullable = true)]
+ public string Status { get; set; }
+}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
index d0c9f6f..3a729f2 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
@@ -242,7 +242,7 @@
/// <exception cref="Exception"></exception>
public T ReadCustomer<T>(string deviceChildCode, string deviceProParamType) where T : IDataTransfer, new()
{
- if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+ if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�:" + DeviceName);
DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == deviceProParamType && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
if (devicePro == null)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.MvcApplicationPartsAssemblyInfo.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.MvcApplicationPartsAssemblyInfo.cs
index 5233109..3d23fae 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.MvcApplicationPartsAssemblyInfo.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/WIDESEAWCS_Server.MvcApplicationPartsAssemblyInfo.cs
@@ -28,7 +28,7 @@
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("WIDESEAWCS_SystemRepository")]
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("WIDESEAWCS_SystemServices")]
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("WIDESEAWCS_TaskInfoRepository")]
-[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("WIDESEAWCS_TaskInfoService")]
+[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("WIDESEAWCs_TaskInfoService")]
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("WIDESEAWCS_Tasks")]
// 鐢� MSBuild WriteCodeFragment 绫荤敓鎴愩��
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.WIDESEAWCS_Server.Microsoft.AspNetCore.StaticWebAssets.props b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.WIDESEAWCS_Server.Microsoft.AspNetCore.StaticWebAssets.props
deleted file mode 100644
index 056a461..0000000
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.WIDESEAWCS_Server.Microsoft.AspNetCore.StaticWebAssets.props
+++ /dev/null
@@ -1,84 +0,0 @@
-锘�<Project>
- <ItemGroup>
- <StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\style.css))">
- <SourceType>Package</SourceType>
- <SourceId>WIDESEAWCS_Server</SourceId>
- <ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
- <BasePath>_content/WIDESEAWCS_Server</BasePath>
- <RelativePath>css/style.css</RelativePath>
- <AssetKind>All</AssetKind>
- <AssetMode>All</AssetMode>
- <AssetRole>Primary</AssetRole>
- <RelatedAsset></RelatedAsset>
- <AssetTraitName></AssetTraitName>
- <AssetTraitValue></AssetTraitValue>
- <CopyToOutputDirectory>Never</CopyToOutputDirectory>
- <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
- <OriginalItemSpec>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\css\style.css))</OriginalItemSpec>
- </StaticWebAsset>
- <StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\favicon.ico))">
- <SourceType>Package</SourceType>
- <SourceId>WIDESEAWCS_Server</SourceId>
- <ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
- <BasePath>_content/WIDESEAWCS_Server</BasePath>
- <RelativePath>favicon.ico</RelativePath>
- <AssetKind>All</AssetKind>
- <AssetMode>All</AssetMode>
- <AssetRole>Primary</AssetRole>
- <RelatedAsset></RelatedAsset>
- <AssetTraitName></AssetTraitName>
- <AssetTraitValue></AssetTraitValue>
- <CopyToOutputDirectory>Never</CopyToOutputDirectory>
- <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
- <OriginalItemSpec>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\favicon.ico))</OriginalItemSpec>
- </StaticWebAsset>
- <StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\js\anime.min.js))">
- <SourceType>Package</SourceType>
- <SourceId>WIDESEAWCS_Server</SourceId>
- <ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
- <BasePath>_content/WIDESEAWCS_Server</BasePath>
- <RelativePath>js/anime.min.js</RelativePath>
- <AssetKind>All</AssetKind>
- <AssetMode>All</AssetMode>
- <AssetRole>Primary</AssetRole>
- <RelatedAsset></RelatedAsset>
- <AssetTraitName></AssetTraitName>
- <AssetTraitValue></AssetTraitValue>
- <CopyToOutputDirectory>Never</CopyToOutputDirectory>
- <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
- <OriginalItemSpec>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\js\anime.min.js))</OriginalItemSpec>
- </StaticWebAsset>
- <StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\logo.jpg.jpg))">
- <SourceType>Package</SourceType>
- <SourceId>WIDESEAWCS_Server</SourceId>
- <ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
- <BasePath>_content/WIDESEAWCS_Server</BasePath>
- <RelativePath>logo.jpg.jpg</RelativePath>
- <AssetKind>All</AssetKind>
- <AssetMode>All</AssetMode>
- <AssetRole>Primary</AssetRole>
- <RelatedAsset></RelatedAsset>
- <AssetTraitName></AssetTraitName>
- <AssetTraitValue></AssetTraitValue>
- <CopyToOutputDirectory>Never</CopyToOutputDirectory>
- <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
- <OriginalItemSpec>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\logo.jpg.jpg))</OriginalItemSpec>
- </StaticWebAsset>
- <StaticWebAsset Include="$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\swg-login.html))">
- <SourceType>Package</SourceType>
- <SourceId>WIDESEAWCS_Server</SourceId>
- <ContentRoot>$(MSBuildThisFileDirectory)..\staticwebassets\</ContentRoot>
- <BasePath>_content/WIDESEAWCS_Server</BasePath>
- <RelativePath>swg-login.html</RelativePath>
- <AssetKind>All</AssetKind>
- <AssetMode>All</AssetMode>
- <AssetRole>Primary</AssetRole>
- <RelatedAsset></RelatedAsset>
- <AssetTraitName></AssetTraitName>
- <AssetTraitValue></AssetTraitValue>
- <CopyToOutputDirectory>Never</CopyToOutputDirectory>
- <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
- <OriginalItemSpec>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\swg-login.html))</OriginalItemSpec>
- </StaticWebAsset>
- </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.build.WIDESEAWCS_Server.props b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.build.WIDESEAWCS_Server.props
deleted file mode 100644
index 5a6032a..0000000
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.build.WIDESEAWCS_Server.props
+++ /dev/null
@@ -1,3 +0,0 @@
-锘�<Project>
- <Import Project="Microsoft.AspNetCore.StaticWebAssets.props" />
-</Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Sys_ConfigRepository.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Sys_ConfigRepository.cs
new file mode 100644
index 0000000..c0f6b58
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/Sys_ConfigRepository.cs
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_ISystemRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEAWCS_SystemRepository
+{
+ public class Sys_ConfigRepository : RepositoryBase<Sys_Config>, ISys_ConfigRepository
+ {
+ public Sys_ConfigRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
+ {
+
+ }
+ }
+}
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_ConfigService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_ConfigService.cs
new file mode 100644
index 0000000..b70e48d
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_ConfigService.cs
@@ -0,0 +1,38 @@
+锘�
+using System.Net;
+using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_ISystemRepository;
+using WIDESEAWCS_ISystemServices;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Model.Models;
+
+namespace WIDESEA_Services
+{
+ public class Sys_ConfigService : ServiceBase<Sys_Config, ISys_ConfigRepository>, ISys_ConfigService
+ {
+ private readonly IUnitOfWorkManage _unitOfWorkManage;
+
+ public Sys_ConfigService(ISys_ConfigRepository repository, IUnitOfWorkManage unitOfWorkManage) : base(repository)
+ {
+ _unitOfWorkManage = unitOfWorkManage;
+ }
+
+ /// <inheritdoc/>
+ public List<Sys_Config> GetAll()
+ {
+ return BaseDal.QueryData();
+ }
+
+ /// <inheritdoc/>
+ public List<Sys_Config> GetConfigsByCategory(string category)
+ {
+ return BaseDal.QueryData(x => x.Category == category).ToList();
+ }
+
+ /// <inheritdoc/>
+ public Sys_Config GetByConfigKey(string category, string configKey)
+ {
+ return BaseDal.QueryData(x => x.Category == category && x.ConfigKey == configKey).FirstOrDefault();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 830c4ce..95ef445 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -1,34 +1,18 @@
-锘�#region << 鐗� 鏈� 娉� 閲� >>
-
-/*----------------------------------------------------------------
- * 鍛藉悕绌洪棿锛歐IDESEAWCS_TaskInfoService
- * 鍒涘缓鑰咃細鑳$搴�
- * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36
- * 鐗堟湰锛歏1.0.0
- * 鎻忚堪锛�
- *
- * ----------------------------------------------------------------
- * 淇敼浜猴細
- * 淇敼鏃堕棿锛�
- * 鐗堟湰锛歏1.0.1
- * 淇敼璇存槑锛�
- *
- *----------------------------------------------------------------*/
-
-#endregion << 鐗� 鏈� 娉� 閲� >>
-
+锘�
using AutoMapper;
using HslCommunication;
using Newtonsoft.Json;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
+using WIDESEAWCS_Common;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_DTO.WMS;
+using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
@@ -42,13 +26,14 @@
private readonly IRouterService _routerService;
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository;
+ private readonly ISys_ConfigService _sys_ConfigService;
private readonly IMapper _mapper;
private Dictionary<string, OrderByType> _taskOrderBy = new()
- {
- {nameof(Dt_Task.Grade),OrderByType.Desc },
- {nameof(Dt_Task.CreateDate),OrderByType.Asc},
- };
+ {
+ {nameof(Dt_Task.Grade), OrderByType.Desc },
+ {nameof(Dt_Task.CreateDate), OrderByType.Asc},
+ };
public Dictionary<string, OrderByType> TaskOrderBy
{ get { return _taskOrderBy; } set { _taskOrderBy = value; } }
@@ -57,12 +42,13 @@
public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList();
- public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper) : base(BaseDal)
+ public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService) : base(BaseDal)
{
_routerService = routerService;
_taskExecuteDetailService = taskExecuteDetailService;
_taskExecuteDetailRepository = taskExecuteDetailRepository;
_mapper = mapper;
+ _sys_ConfigService = sys_ConfigService;
}
/// <summary>
@@ -87,7 +73,6 @@
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
List<Dt_Router> routers = _routerService.QueryNextRoutes(item.RoadWay, item.TargetAddress);
- //鏆備笉鑰冭檻澶氳矾寰�
if (routers.Count > 0)
{
task.TaskState = (int)TaskOutStatusEnum.OutNew;
@@ -98,7 +83,6 @@
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
{
List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
- //鏆備笉鑰冭檻澶氳矾寰�
if (routers.Count > 0)
{
task.TaskState = (int)TaskInStatusEnum.InNew;
@@ -127,66 +111,42 @@
/// <param name="palletCode">鎵樼洏鍙�</param>
/// <param name="sourceAddress">璧峰鍦板潃</param>
/// <returns></returns>
- public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress)
+ public async Task<WebResponseContent> RequestWMSTask(string palletCode, string sourceAddress)
{
WebResponseContent content = new WebResponseContent();
try
{
- #region 璇锋眰鍏ュ簱浠诲姟宸烽亾
- // TODO: 璋冪敤鎺ュ彛鑾峰彇涓嬩竴涓湴鍧�
- // 鍒涘缓璇锋眰瀵硅薄
- RequestTaskDto request = new RequestTaskDto()
+ var hasTask = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
+ if (hasTask != null)
{
- Position = sourceAddress,
- PalletCode = palletCode,
- };
+ return content.Error("褰撳墠鎵樼洏瀛樺湪浠诲姟");
+ }
- // 鍙戦�佽姹傚苟绛夊緟鍝嶅簲
- var result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestTaskAsync", request.ToJsonString()).Result;
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
+ if (wmsBase == null || requestTask == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddrss = wmsBase + requestTask;
- // 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
+ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = sourceAddress, PalletCode = palletCode }.ToJsonString());
content = JsonConvert.DeserializeObject<WebResponseContent>(result);
- WMSTaskDTO task = new WMSTaskDTO();
- // 妫�鏌ョ姸鎬佸苟杩斿洖
if (!content.Status)
{
- task = new WMSTaskDTO()
- {
- TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
- Grade = 1,
- PalletCode = palletCode,
- RoadWay = "CHSC01",
- SourceAddress = sourceAddress,
- TargetAddress = "1020",
- TaskState = (int)TaskOutStatusEnum.Line_OutExecuting,
- Id = 0,
- TaskType = (int)TaskOutboundTypeEnum.Outbound
- };
-
- Dt_Task task1 = _mapper.Map<Dt_Task>(task);
- task1.CurrentAddress = task.SourceAddress;
- task1.NextAddress = "1020";
- BaseDal.AddData(task1);
- return content.OK();
- }
- else
- {
- // 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
- task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
- // 澶勭悊浠诲姟骞惰繑鍥炵粨鏋�
- content = ReceiveWMSTask(new List<WMSTaskDTO> { task });
+ // wms澶辫触杩斿洖鍘籒G鍙d换鍔�
+ return content;
}
-
-
- #endregion
+ var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+ return ReceiveWMSTask(new List<WMSTaskDTO> { task });
}
catch (Exception ex)
{
- content = WebResponseContent.Instance.Error(ex.Message);
+ return WebResponseContent.Instance.Error(ex.Message);
}
- return content;
}
/// <summary>
@@ -335,7 +295,7 @@
WebResponseContent content = new WebResponseContent();
try
{
- Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+ var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
@@ -367,7 +327,7 @@
/// <param name="status">浠诲姟鐘舵��</param>
public void UpdateTaskStatus(int taskNum, int status)
{
- Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+ var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
if (task == null) return;
task.TaskState = status;
task.ModifyDate = DateTime.Now;
@@ -383,7 +343,7 @@
WebResponseContent content = new WebResponseContent();
try
{
- Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+ var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
return UpdateTaskStatusToNext(task);
}
@@ -407,22 +367,19 @@
int oldState = task.TaskState;
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
- if (task.TaskState >= (int)TaskOutStatusEnum.OutFinish)
- {
- return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
- }
-
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
task.TaskState = nextStatus;
+
+ if (task.TaskState == (int)TaskOutStatusEnum.Line_OutFinish)
+ {
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+ BaseDal.DeleteData(task);
+ }
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
{
- if (task.TaskState >= (int)TaskInStatusEnum.InFinish)
- {
- return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
- }
-
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
task.TaskState = nextStatus;
@@ -432,14 +389,24 @@
#region 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
// TODO: 璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
// 鍒涘缓璇锋眰瀵硅薄
- RequestTaskDto taskDto = new RequestTaskDto()
+ var taskDto = new RequestTaskDto()
{
Position = task.NextAddress,
PalletCode = task.PalletCode,
};
+ // 鑾峰彇WMSip鍦板潃
+ var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue;
+ var requestLocation = configz.Where(x => x.ConfigKey == SysConfigKeyConst.RequestLocation).FirstOrDefault()?.ConfigValue;
+ if (wmsBasez == null || requestLocation == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddrss = wmsBasez + requestLocation;
+
// 鍙戦�佽姹傚苟绛夊緟鍝嶅簲
- var abc = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestLocationTaskAsync", taskDto.ToJsonString()).Result;
+ var abc = HttpHelper.PostAsync(wmsIpAddrss, taskDto.ToJsonString()).Result;
if (abc == null)
return content.Error();
// 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
@@ -450,13 +417,21 @@
return content;
// 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
- WMSTaskDTO taskResult = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+ var taskResult = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
task.CurrentAddress = task.NextAddress;
task.NextAddress = taskResult.TargetAddress;
task.TargetAddress = task.NextAddress;
#endregion
+ }
+ else if (task.TaskState == (int)TaskInStatusEnum.SC_InFinish)
+ {
+
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+
+ BaseDal.DeleteData(task);
}
}
else
@@ -476,12 +451,17 @@
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"浜哄伐鎵嬪姩灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戣烦杞埌銆恵task.TaskState}銆�" : $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�");
#region 鏇存柊浠诲姟鐘舵��
- object request = new
+ // 鑾峰彇WMSip鍦板潃
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.UpdateTask)?.ConfigValue;
+ if (wmsBase == null || updateTask == null)
{
- TaskNum = task.TaskNum,
- TaskState = task.TaskState
- };
- var result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/UpdateTaskStatus", request.ToJsonString()).Result;
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddress = wmsBase + updateTask;
+
+ var result = HttpHelper.PostAsync(wmsIpAddress, new { TaskNum = task.TaskNum, TaskState = task.TaskState }.ToJsonString()).Result;
content = JsonConvert.DeserializeObject<WebResponseContent>(result);
#endregion
@@ -504,13 +484,13 @@
{
try
{
- Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress);
+ var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress);
if (task == null) throw new Exception($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
string oldCurrentPos = task.CurrentAddress;
string oldNextPos = task.NextAddress;
- List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
+ var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
if (!routers.Any()) throw new Exception($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
task.CurrentAddress = task.NextAddress;
@@ -539,12 +519,12 @@
WebResponseContent content = new WebResponseContent();
try
{
- Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+ var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
{
- List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
+ var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
@@ -569,8 +549,6 @@
task.Modifier = "System";
BaseDal.UpdateData(task);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�");
-
-
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
{
@@ -587,19 +565,34 @@
#region WMS鍚屾浠诲姟瀹屾垚
var keys = new Dictionary<string, object>()
+ {
+ {"taskNum", taskNum}
+ };
+ // 鑾峰彇WMSip鍦板潃
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var completeTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+ if (wmsBase == null || completeTask == null)
{
- {"taskNum", taskNum}
- };
- var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync", keys).Result;
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddress = wmsBase + completeTask;
+
+ var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result;
content = JsonConvert.DeserializeObject<WebResponseContent>(result);
#endregion
+
+
#region 鏇存柊浠诲姟鐘舵��
- object request = new
+
+ var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+ if (wmsBase == null || updateTask == null)
{
- TaskNum = task.TaskNum,
- TaskState = task.TaskState
- };
- result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/UpdateTaskStatus", request.ToJsonString()).Result;
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ wmsIpAddress = wmsBase + updateTask;
+
+ result = HttpHelper.PostAsync(wmsIpAddress, new { TaskNum = task.TaskNum, TaskState = task.TaskState }.ToJsonString()).Result;
content = JsonConvert.DeserializeObject<WebResponseContent>(result);
#endregion
//content = WebResponseContent.Instance.OK();
@@ -621,14 +614,14 @@
WebResponseContent content = new WebResponseContent();
try
{
- Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+ var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
if (task.TaskState != (int)TaskInStatusEnum.InPending && task.TaskState != (int)TaskOutStatusEnum.OutPending)
{
return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙仮澶�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
}
- Dt_TaskExecuteDetail taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.IsNormal, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
+ var taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.IsNormal, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
if (taskExecuteDetail != null)
{
task.TaskState = taskExecuteDetail.TaskState;
@@ -643,7 +636,6 @@
{
task.TaskState = (int)TaskInStatusEnum.InNew;
}
- //todo
}
task.ExceptionMessage = string.Empty;
@@ -668,14 +660,14 @@
/// <returns>杩斿洖澶勭悊缁撴灉</returns>
public WebResponseContent RollbackTaskStatusToLast(int taskNum)
{
- WebResponseContent content = new();
+ WebResponseContent content = new WebResponseContent();
try
{
- Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+ var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
int oldState = task.TaskState;
- Dt_TaskExecuteDetail taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
+ var taskExecuteDetail = _taskExecuteDetailRepository.QueryFirst(x => x.TaskId == task.TaskId && x.TaskState < task.TaskState && x.TaskState > 0, new Dictionary<string, OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), OrderByType.Desc } });
if (taskExecuteDetail != null)
{
task.TaskState = taskExecuteDetail.TaskState;
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj
index f1fe745..a3b8daf 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/WIDESEAWCS_TaskInfoService.csproj
@@ -9,6 +9,7 @@
<ItemGroup>
<ProjectReference Include="..\WIDESEAWCS_BasicInfoService\WIDESEAWCS_BasicInfoService.csproj" />
<ProjectReference Include="..\WIDESEAWCS_ITaskInfoService\WIDESEAWCS_ITaskInfoService.csproj" />
+ <ProjectReference Include="..\WIDESEAWCS_SystemServices\WIDESEAWCS_SystemServices.csproj" />
</ItemGroup>
</Project>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
index 3bd8816..246cca2 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -1,33 +1,16 @@
-锘�#region << 鐗� 鏈� 娉� 閲� >>
-
-/*----------------------------------------------------------------
- * 鍛藉悕绌洪棿锛歐IDESEAWCS_Tasks.ConveyorLineJob
- * 鍒涘缓鑰咃細鑳$搴�
- * 鍒涘缓鏃堕棿锛�2024/8/2 16:13:36
- * 鐗堟湰锛歏1.0.0
- * 鎻忚堪锛�
- *
- * ----------------------------------------------------------------
- * 淇敼浜猴細
- * 淇敼鏃堕棿锛�
- * 鐗堟湰锛歏1.0.1
- * 淇敼璇存槑锛�
- *
- *----------------------------------------------------------------*/
-
-#endregion << 鐗� 鏈� 娉� 閲� >>
-
-using AutoMapper;
+锘縰sing AutoMapper;
using HslCommunication;
using Newtonsoft.Json;
using Quartz;
using SqlSugar;
using System.Reflection;
+using WIDESEAWCS_Common;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_IProcessRepository;
+using WIDESEAWCS_ISystemServices;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
@@ -47,9 +30,10 @@
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
private readonly IRouterService _routerService;
private readonly IPlatFormRepository _platFormRepository;
+ private readonly ISys_ConfigService _sys_ConfigService;
private readonly IMapper _mapper;
- public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository)
+ public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService)
{
_taskService = taskService;
_taskExecuteDetailService = taskExecuteDetailService;
@@ -57,9 +41,10 @@
_mapper = mapper;
_taskRepository = taskRepository;
_platFormRepository = platFormRepository;
+ _sys_ConfigService = sys_ConfigService;
}
- public Task Execute(IJobExecutionContext context)
+ public async Task Execute(IJobExecutionContext context)
{
try
{
@@ -67,89 +52,9 @@
if (conveyorLine != null)
{
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
- List<Task> tasks = new List<Task>();
foreach (string childDeviceCode in childDeviceCodes)
{
- //Task task = Task.Run(() =>
- //{
- ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
- ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
- if (command != null && commandWrite != null)
- {
- var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
-
- List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
-
- if (deviceProtocolDetails != null)
- {
- foreach (var item in deviceProtocolDetails)
- {
- var outDeviceCodes = _routerService.QueryOutDeviceCodes(conveyorLine.DeviceCode);
- if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
- {
- MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
- if (method != null)
- {
- command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
- method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
- }
- }
- else
- {
- DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
- string[] x = devicePro.DeviceProAddress.Split('.');
- x[x.Length - 1] = (item.ProtocalDetailValue.ObjToInt() + 1).ToString();
- string DeviceProAddress = string.Join(".", x);
- var writeRead = conveyorLine.Communicator.Read<bool>(DeviceProAddress);
- if (writeRead)
- {
- ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
- }
- }
- }
- }
-
- Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
- if (platform != null)
- {
- if (command.InteractiveSignal != 2)
- {
- MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
- if (method != null)
- {
- command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
- int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
- method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
- }
- }
- else
- {
- if (!string.IsNullOrEmpty(platform.Location))
- {
- var strings = platform.Location.Split(',').ToList();
- foreach (var ite in strings)
- {
- int index = strings.FindIndex(p => p == ite);
- ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
- if (command1.InteractiveSignal != 2)
- {
- MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
- if (method != null)
- {
- command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
- int count = strings.Count - index;
- method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
- }
- }
- }
- }
- }
- }
- }
- //});
-
- //tasks.Add(task);
- Task.WaitAll(tasks.ToArray());
+ await ProcessDeviceAsync(conveyorLine, childDeviceCode);
}
}
}
@@ -157,13 +62,84 @@
{
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
}
- finally
- {
- //WriteDebug("CommonConveyorLineJob", "test");
- //Console.Out.WriteLine(DateTime.Now);
- }
+ }
- return Task.CompletedTask;
+ private async Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
+ {
+ ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
+ ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
+ if (command != null && commandWrite != null)
+ {
+ var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
+
+ List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
+
+ if (deviceProtocolDetails != null)
+ {
+ foreach (var item in deviceProtocolDetails)
+ {
+ var outDeviceCodes = _routerService.QueryOutDeviceCodes(conveyorLine.DeviceCode);
+ if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
+ {
+ MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
+ if (method != null)
+ {
+ command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
+ method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
+ }
+ }
+ else
+ {
+ DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ string[] x = devicePro.DeviceProAddress.Split('.');
+ x[x.Length - 1] = (item.ProtocalDetailValue.ObjToInt() + 1).ToString();
+ string DeviceProAddress = string.Join(".", x);
+ var writeRead = conveyorLine.Communicator.Read<bool>(DeviceProAddress);
+ if (writeRead)
+ {
+ ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
+ }
+ }
+ }
+ }
+
+ Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
+ if (platform != null)
+ {
+ if (command.InteractiveSignal != 2)
+ {
+ MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
+ if (method != null)
+ {
+ command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
+ int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
+ method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
+ }
+ }
+ else
+ {
+ if (!string.IsNullOrEmpty(platform.Location))
+ {
+ var strings = platform.Location.Split(',').ToList();
+ foreach (var ite in strings)
+ {
+ int index = strings.FindIndex(p => p == ite);
+ ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
+ if (command1.InteractiveSignal != 2)
+ {
+ MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
+ if (method != null)
+ {
+ command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
+ int count = strings.Count - index;
+ method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}
/// <summary>
@@ -177,14 +153,9 @@
{
try
{
- // 鑾峰彇涓嬩竴涓换鍔�
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
- //var taskOut = _taskService.QueryNextConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
- //return;
- // 澶勭悊鍑哄簱浠诲姟
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
- // 濡傛灉娌℃湁鍑哄簱浠诲姟锛屽鐞嗘柊浠诲姟
if (task == null && command.Barcode != "NoRead")
{
HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
@@ -192,34 +163,9 @@
}
catch (Exception ex)
{
- return;
+ Console.Out.WriteLine(ex.ToString());
}
}
-
- #region 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- //public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
- //{
- // Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
- // if (task != null)
- // {
- // Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
- // if (newTask != null)
- // {
- // ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
- // taskCommand.InteractiveSignal = command.InteractiveSignal;
- // conveyorLine.SendCommand(taskCommand, childDeviceCode);
- // }
- // }
- //}
-
- #endregion
/// <summary>
/// 杈撻�佺嚎鍏ュ簱瀹屾垚
@@ -230,15 +176,14 @@
/// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
{
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
+ var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
{
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
- //conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
- //Console.Out.WriteLine(content.Serialize());
+ Console.Out.WriteLine(content.Serialize());
}
}
@@ -251,7 +196,7 @@
/// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
{
- Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
+ var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
if (task != null)
{
ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
@@ -262,28 +207,6 @@
_taskService.UpdateTaskStatusToNext(task);
}
}
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍑哄簱涓嬩竴鍦板潃
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
- {
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
- if (task != null)
- {
- Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
- if (newTask != null)
- {
- ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
- taskCommand.InteractiveSignal = command.InteractiveSignal;
- conveyorLine.SendCommand(taskCommand, childDeviceCode);
- }
- }
- }
-
/// <summary>
/// 杈撻�佺嚎鍑哄簱瀹屾垚
/// </summary>
@@ -292,7 +215,7 @@
/// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
{
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
+ var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
if (task != null)
{
WebResponseContent content = new WebResponseContent();
@@ -312,6 +235,22 @@
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
content = _taskService.UpdateTaskStatusToNext(task);
}
+ }
+
+ /// <summary>
+ /// 杈撻�佺嚎浜や簰瀹屾垚
+ /// </summary>
+ /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
+ /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
+ /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
+ /// <param name="value">鍊�</param>
+ public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
+ {
+ DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+ string[] x = devicePro.DeviceProAddress.Split('.');
+ x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
+ string DeviceProAddress = string.Join(".", x);
+ conveyorLine.Communicator.Write(DeviceProAddress, value);
}
/// <summary>
@@ -348,14 +287,20 @@
#region 璋冪敤WMS鑾峰彇鍑哄簱浠诲姟
WMSTaskDTO taskDTO = new WMSTaskDTO();
- object dynamic = new
+
+ // 鑾峰彇WMSip鍦板潃
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
+ if (wmsBase == null || requestTrayOutTask == null)
{
- position = childDeviceCode,
- tag = (int)taskType,
- areaCdoe = roadWay,
- roadways = roadways
- };
- var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddress = wmsBase + requestTrayOutTask;
+
+
+ var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, roadways = roadways }.ToJsonString());
+ //var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
@@ -382,22 +327,6 @@
Console.WriteLine($"{taskDTO.TaskType}鍛煎彨鎴愬姛");
}
return content;
- }
-
- /// <summary>
- /// 杈撻�佺嚎浜や簰瀹屾垚
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
- /// <param name="value">鍊�</param>
- public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
- {
- DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
- string[] x = devicePro.DeviceProAddress.Split('.');
- x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
- string DeviceProAddress = string.Join(".", x);
- conveyorLine.Communicator.Write(DeviceProAddress, value);
}
}
}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
index ba0e4d3..45729cc 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -12,8 +12,8 @@
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_Tasks.ConveyorLineJob;
using HslCommunication;
-using OfficeOpenXml.ConditionalFormatting;
using WIDESEAWCS_DTO.WMS;
+using WIDESEAWCS_Common;
namespace WIDESEAWCS_Tasks
{
@@ -24,29 +24,22 @@
/// </summary>
private void HandleTaskOut(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, Dt_Task taskOut)
{
- // 濡傛灉娌℃湁浠诲姟锛岀洿鎺ヨ繑鍥�
if (taskOut == null) return;
- // 鏄犲皠浠诲姟鍛戒护
var taskCommand = MapTaskCommand(taskOut, command);
- // 鏍规嵁涓嶅悓鐨勪换鍔$被鍨嬪拰鐘舵�佹墽琛屼笉鍚岀殑閫昏緫
bool isOutTray = taskOut.TaskType == (int)TaskOutboundTypeEnum.OutTray;
bool isOutboundAndOutFinish = taskOut.TaskType == (int)TaskOutboundTypeEnum.Outbound && taskOut.TaskState == (int)TaskOutStatusEnum.SC_OutFinish;
bool isOutboundAndLineOutExecuting = taskOut.TaskType == (int)TaskOutboundTypeEnum.Outbound && taskOut.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting;
if (isOutTray || isOutboundAndOutFinish || !isOutboundAndLineOutExecuting)
{
- // 鍙戦�佸懡浠ゅ埌杈撻�佺嚎
conveyorLine.SendCommand(taskCommand, childDeviceCode);
- // 鏍囪鍙戦�佸畬鎴�
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
- // 鏇存柊浠诲姟鐘舵��
_taskService.UpdateTaskStatusToNext(taskOut);
}
else if (taskOut.TaskType == (int)TaskOutboundTypeEnum.OutTray && taskOut.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
{
- // 瀹屾垚WMS浠诲姟
CompleteWmsTask(taskOut, command, conveyorLine, childDeviceCode, ProtocalDetailValue);
}
}
@@ -56,20 +49,13 @@
/// </summary>
private void HandleNewTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
{
- // 鐗瑰畾鏉′欢涓嬪垱寤哄苟鍙戦�佺┖鎵樼洏鍏ュ簱浠诲姟
if ((conveyorLine.DeviceCode == "1003" && childDeviceCode == "1016") || (conveyorLine.DeviceCode == "1005" && childDeviceCode == "1048"))
{
- // 璇锋眰WMS绌烘墭鐩樹换鍔�
CreateAndSendEmptyTrayTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
}
else if ((conveyorLine.DeviceCode == "1001" && childDeviceCode == "1088") || (conveyorLine.DeviceCode == "1004" && childDeviceCode == "1339"))
{
- // 璇锋眰WMS鍏ュ簱浠诲姟
RequestWmsTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
- }
- else if ((conveyorLine.DeviceCode == "1001" && childDeviceCode == "1073") || (conveyorLine.DeviceCode == "1003" && childDeviceCode == "1002"))
- {
- //TODO 鍙戦�佺洿鎺ュ幓NG鍙d换鍔�
}
}
@@ -78,7 +64,6 @@
/// </summary>
private ConveyorLineTaskCommand MapTaskCommand(Dt_Task task, ConveyorLineTaskCommand command)
{
- // 浣跨敤mapper鏄犲皠浠诲姟鍛戒护
var comm = _mapper.Map<ConveyorLineTaskCommand>(task);
comm.InteractiveSignal = command.InteractiveSignal;
return comm;
@@ -89,25 +74,30 @@
/// </summary>
private void CompleteWmsTask(Dt_Task taskOut, ConveyorLineTaskCommand command, CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue)
{
- // 濡傛灉娌℃湁鏉$爜淇℃伅锛屽垯璁剧疆鐩爣鍦板潃涓篘G鍦板潃
if (command.Barcode == "NoRead")
{
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == taskOut.TargetAddress).Capacity;
taskOut.TargetAddress = NGAddress.ToString();
}
- // TODO璋冪敤WMS浠诲姟瀹屾垚鎺ュ彛
var keys = new Dictionary<string, object>()
- {
- {"taskNum", taskOut.TaskNum}
- };
- var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync", keys).Result;
+ {
+ {"taskNum", taskOut.TaskNum}
+ };
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var completeTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+ if (wmsBase == null || completeTask == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddress = wmsBase + completeTask;
+
+ var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result;
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
if (content.Status)
{
- // 鏍囪鍙戦�佸畬鎴�
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
- // 鏇存柊浠诲姟鐘舵��
_taskService.UpdateTaskStatusToNext(taskOut);
}
}
@@ -119,23 +109,23 @@
{
if (command.Barcode != "NoRead")
{
- // 鍒涘缓绌烘墭鐩樹换鍔TO
- WMSTaskDTO taskDTO = CreateEmptyTrayTaskDto(command.Barcode, childDeviceCode);
- // 鍒涘缓骞跺彂閫佷换鍔�
- WebResponseContent content = CreateAndSendTask(taskDTO);
+ var taskDTO = CreateEmptyTrayTaskDto(command.Barcode, childDeviceCode);
+
+ if (_taskRepository.QueryFirst(x => x.PalletCode == taskDTO.PalletCode) != null)
+ {
+ WriteInfo(conveyorLine.DeviceName, "褰撳墠鎵樼洏瀛樺湪浠诲姟");
+ return;
+ }
+
+ var content = CreateAndSendTask(taskDTO);
if (content.Status)
{
- // 鏌ヨ浠诲姟
- Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
+ var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
if (task != null)
{
- // 鏄犲皠浠诲姟鍛戒护
- ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
- // 鍙戦�佸懡浠ゅ埌杈撻�佺嚎
+ var taskCommand = MapTaskCommand(task, command);
conveyorLine.SendCommand(taskCommand, childDeviceCode);
- // 鏍囪鍙戦�佸畬鎴�
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
- // 鏇存柊浠诲姟鐘舵��
_taskService.UpdateTaskStatusToNext(task);
}
}
@@ -147,49 +137,51 @@
/// </summary>
private WMSTaskDTO CreateEmptyTrayTaskDto(string barcode, string childDeviceCode)
{
- #region 鍚慦MS璇锋眰绌烘墭鐩樹换鍔�
- WMSTaskDTO wMSTaskDTO = new WMSTaskDTO();
- RequestTaskDto request = new RequestTaskDto()
+ var request = new RequestTaskDto()
{
Position = childDeviceCode,
PalletCode = barcode,
};
- var result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestTrayInTaskAsync", request.ToJsonString()).Result;
+
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var requestTrayInTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayInTask)?.ConfigValue;
+ if (wmsBase == null || requestTrayInTask == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddrss = wmsBase + requestTrayInTask;
+ var result = HttpHelper.PostAsync(wmsIpAddrss, request.ToJsonString()).Result;
if (result == null)
- return wMSTaskDTO;
+ return new WMSTaskDTO();
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
- // 妫�鏌ョ姸鎬佸苟杩斿洖
if (!content.Status)
- return wMSTaskDTO;
+ return new WMSTaskDTO();
return JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
-
- #endregion 鍚慦MS璇锋眰绌烘墭鐩樹换鍔�
}
/// <summary>
/// 璇锋眰WMS浠诲姟
/// </summary>
- private void RequestWmsTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
+ private async void RequestWmsTask(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
{
- // 璇锋眰WMS浠诲姟
- if (_taskService.RequestWMSTask(command.Barcode, childDeviceCode).Status)
+ var content = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode);
+ if (content.Status)
{
- // 鏌ヨ浠诲姟
- Dt_Task task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
+ var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
if (task != null)
{
- // 鏄犲皠浠诲姟鍛戒护
- ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
- // 鍙戦�佸懡浠ゅ埌杈撻�佺嚎
+ var taskCommand = MapTaskCommand(task, command);
conveyorLine.SendCommand(taskCommand, childDeviceCode);
- // 鏍囪鍙戦�佸畬鎴�
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
- // 鏇存柊浠诲姟鐘舵��
_taskService.UpdateTaskStatusToNext(task);
}
}
+ else
+ WriteInfo(conveyorLine.DeviceName, content.Message);
}
}
-}
\ No newline at end of file
+}
+
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/obj/Debug/net6.0/WIDESEA_Common.GeneratedMSBuildEditorConfig.editorconfig b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/obj/Debug/net6.0/WIDESEA_Common.GeneratedMSBuildEditorConfig.editorconfig
deleted file mode 100644
index c260318..0000000
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/obj/Debug/net6.0/WIDESEA_Common.GeneratedMSBuildEditorConfig.editorconfig
+++ /dev/null
@@ -1,13 +0,0 @@
-is_global = true
-build_property.TargetFramework = net6.0
-build_property.TargetPlatformMinVersion =
-build_property.UsingMicrosoftNETSdkWeb =
-build_property.ProjectTypeGuids =
-build_property.InvariantGlobalization =
-build_property.PlatformNeutralAssembly =
-build_property.EnforceExtendedAnalyzerRules =
-build_property._SupportedPlatformList = Linux,macOS,Windows
-build_property.RootNamespace = WIDESEA_Common
-build_property.ProjectDir = F:\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Common\
-build_property.EnableComHosting =
-build_property.EnableGeneratedComInterfaceComImportInterop =
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/obj/WIDESEA_Common.csproj.nuget.g.props b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/obj/WIDESEA_Common.csproj.nuget.g.props
deleted file mode 100644
index adaddbd..0000000
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/obj/WIDESEA_Common.csproj.nuget.g.props
+++ /dev/null
@@ -1,16 +0,0 @@
-锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
- <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
- <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
- <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
- <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
- <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\绔炵敺\.nuget\packages\;E:\vsTOOl\NuGetPackages</NuGetPackageFolders>
- <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
- <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.11.1</NuGetToolVersion>
- </PropertyGroup>
- <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
- <SourceRoot Include="C:\Users\绔炵敺\.nuget\packages\" />
- <SourceRoot Include="E:\vsTOOl\NuGetPackages\" />
- </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs
index b33d0ed..8d204a7 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/AgingInOrOutInput/AgingInOrOutInputService.cs
@@ -23,7 +23,7 @@
try
{
input.SessionId = Guid.NewGuid().ToString();
- input.EmployeeNo = "T00001";
+ input.EmployeeNo = "MITest";
input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
var inputJson = input.ToDictionary();
var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/AgingInput", inputJson);
@@ -52,7 +52,7 @@
try
{
input.SessionId = Guid.NewGuid().ToString();
- input.EmployeeNo = "T00001";
+ input.EmployeeNo = "MITest";
input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
var inputJson = input.ToDictionary();
var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/AgingOutput", inputJson);
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs
index 1459cc2..f0ccf06 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/CellState/CellStateService.cs
@@ -1,5 +1,6 @@
锘縰sing LogLibrary.Log;
using Masuit.Tools;
+using Newtonsoft.Json;
using WIDESEA_Common;
using WIDESEA_Core;
using WIDESEA_DTO;
@@ -30,7 +31,7 @@
try
{
input.SessionId = Guid.NewGuid().ToString();
- input.EmployeeNo = "T00001";
+ input.EmployeeNo = "MITest";
input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
var inputJson = input.ToDictionary();
var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/CellState", inputJson);
@@ -71,6 +72,8 @@
{
Console.WriteLine(err.Message.ToString());
LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Error(true, $"\r\r--------------------------------------");
+ LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Error(true, $"璇锋眰鍙傛暟: {JsonConvert.SerializeObject(input)}");
+ LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Error(true, err.Message);
LogFactory.GetLog("鍗曠數鑺睘鎬ц幏鍙�").Error(true, err.StackTrace);
}
return Task.FromResult<dynamic>(null);
@@ -87,7 +90,7 @@
try
{
input.SessionId = Guid.NewGuid().ToString();
- input.EmployeeNo = "T00001";
+ input.EmployeeNo = "MITest";
input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
var inputJson = input.ToDictionary();
var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/TrayCellsStatus", inputJson);
@@ -125,6 +128,8 @@
{
Console.WriteLine(err.Message.ToString());
LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Error(true, $"\r\r--------------------------------------");
+ LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Error(true, $"璇锋眰鍙傛暟: {JsonConvert.SerializeObject(input)}");
+ LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Error(true, err.Message);
LogFactory.GetLog("鏁寸洏鐢佃姱灞炴�ц幏鍙�").Error(true, err.StackTrace);
}
return content;
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/ProcessApply/ProcessApplyService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/ProcessApply/ProcessApplyService.cs
index 2a36c02..46170cc 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/ProcessApply/ProcessApplyService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/ProcessApply/ProcessApplyService.cs
@@ -24,7 +24,7 @@
try
{
input.SessionId = Guid.NewGuid().ToString();
- input.EmployeeNo = "T00001";
+ input.EmployeeNo = "MITest";
input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
var inputIson = input.ToDictionary();
var x = await HttpsClient.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/ProcessApply", inputIson);
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/Unbind/UnbindService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/Unbind/UnbindService.cs
index f4f8c6e..4d71a53 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/Unbind/UnbindService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StoragIntegrationServices/MOM/Unbind/UnbindService.cs
@@ -28,7 +28,7 @@
input.SessionId = Guid.NewGuid().ToString();
input.Software = "WMS";
input.EquipmentCode = "ECH001-B";
- input.EmployeeNo = "T00001";
+ input.EmployeeNo = "MITest";
input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
var inputJson = input.ToDictionary();
LogFactory.GetLog("鎵樼洏鍗曠數鑺В缁�1").Info(true, JsonConvert.SerializeObject(inputJson));
@@ -57,7 +57,7 @@
input.SessionId = Guid.NewGuid().ToString();
input.Software = "WMS";
input.EquipmentCode = "ECH001-B";
- input.EmployeeNo = "T00001";
+ input.EmployeeNo = "MITest";
input.RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ");
var inputJson = input.ToDictionary();
Console.WriteLine(inputJson);
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index dbe3053..177bc6e 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -144,7 +144,7 @@
ParameterCode = y.ParameterCode,
ParameterDesc = y.Description,
TargetValue = y.TargetValue,
- Value = ( DateTime.Parse(stock.LinedProcessFeedbackTime, null, System.Globalization.DateTimeStyles.RoundtripKind).ToLocalTime() - stock.CreateDate).TotalMinutes.ToString(),
+ Value = (DateTime.Parse(stock.LinedProcessFeedbackTime, null, System.Globalization.DateTimeStyles.RoundtripKind).ToLocalTime() - stock.CreateDate).TotalMinutes.ToString(),
DefectCode = y.UOMCode
}).ToList()
}).ToList()
@@ -396,6 +396,7 @@
{
MaterielCode = "绌烘墭鐩�",
Id = 0,
+ Status = (int)StockStateEmun.宸插叆搴�
}
}
};
@@ -407,6 +408,7 @@
private DtStockInfo CreateFullPalletStock(Dt_Task task, DtLocationInfo locationInf, DtBoxingInfo boxing)
{
var boxDetail = boxing.BoxingInfoDetails.Adapt<List<DtStockInfoDetail>>();
+ boxDetail.ForEach(x => { x.Status = (int)StockStateEmun.宸插叆搴�; });
var stock = new DtStockInfo()
{
PalletCode = task.PalletCode,
@@ -529,6 +531,7 @@
{
Software = "WMS",
TrayBarcode = input.PalletCode,
+ //EquipmentCode = "EQ_CWJZ01"
EquipmentCode = "ECH001-B"
};
@@ -544,9 +547,9 @@
return content.Error(result.MOMMessage);
// TODO 鑾峰彇鏈湴鏂欐灞炴�т笌鏁寸洏鐢佃姱灞炴�ц幏鍙栫殑鍊艰繘琛屽姣旓紝濡傛灉涓�鑷村垯缁х画锛屽惁鍒欒繑鍥為敊璇俊鎭�
- var productions = await _productionRepository.QueryDataAsync(x => result.TrayBarcodePropertys.Select(x => x.TrayBarcodeProperty).ToList().Contains(x.TrayBarcodeProperty));
- if (productions.Count <= 0)
- return content.Error("鏂欐灞炴�т笉瀛樺湪");
+ //var productions = await _productionRepository.QueryDataAsync(x => result.TrayBarcodePropertys.Select(x => x.TrayBarcodeProperty).ToList().Contains(x.TrayBarcodeProperty));
+ //if (productions.Count <= 0)
+ // return content.Error("鏂欐灞炴�т笉瀛樺湪");
// 璋冪敤CreateBoxingInfo鏂规硶锛屽垱寤虹粍鐩樹俊鎭�
@@ -570,7 +573,7 @@
List<string> strings = input.Position == "1088" ? new List<string>() { "CHSC01" } : new List<string>() { "JZSC01" };
// 璋冪敤CreateNewTask鏂规硶锛屽垱寤烘柊浠诲姟
- content = await CreateNewTask(input, strings);
+ content = await CreateNewTask(input, strings);
if (content.Status)
{
var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
@@ -642,7 +645,11 @@
return content.OK(data: task);
}
- return await CreateNewTask(input, null, 1);
+ // 鑾峰彇鐩爣鍦板潃
+ List<string> strings = input.Position == "1016" ? new List<string>() { "CHSC01" } : new List<string>() { "JZSC01" };
+
+ return await CreateNewTask(input, strings, 1);
+ //return await CreateNewTask(input, null, 1);
}
catch (Exception)
{
@@ -743,12 +750,20 @@
{
// 鏍规嵁鎵樼洏绫诲瀷鏌ヨ搴撳瓨淇℃伅
DtStockInfo stockInfo = tag == (int)TaskOutboundTypeEnum.Outbound
- ? QueryStockInfoForRealTray(areaCode, roadways)
- : QueryStockInfoForEmptyTray(areaCode, roadways);
+ ? QueryStockInfoForRealTrayAsync(areaCode, roadways).Result
+ : QueryStockInfoForEmptyTrayAsync(areaCode, roadways).Result;
if (stockInfo == null)
{
return content.Error("搴撳瓨淇℃伅涓嶅瓨鍦�");
+ }
+
+ // 鏂板閲嶅浠诲姟鏍¢獙
+ var hasTask = BaseDal.QueryFirst(x => x.PalletCode == stockInfo.PalletCode);
+ if (hasTask != null)
+ {
+ WMSTaskDTO taskDTO1 = CreateTaskDTO(hasTask);
+ return content.OK("宸插瓨鍦ㄧ┖鐩樺嚭搴撲换鍔�", data: taskDTO1);
}
// 鍒涘缓鏂颁换鍔″疄渚�
@@ -783,26 +798,33 @@
/// <summary>
/// 鏌ヨ瀹炵洏搴撳瓨淇℃伅
/// </summary>
- private DtStockInfo QueryStockInfoForRealTray(string areaCode, List<string> roadways)
+ private async Task<DtStockInfo> QueryStockInfoForRealTrayAsync(string areaCode, List<string> roadways)
{
// TODO鏃堕棿鏍规嵁MOM绯荤粺閰嶇疆鐨勫嚭搴撴椂闂存潵鑾峰彇,鏆傛椂涓嶇煡閬揗OM杩斿洖鐨勬椂闂存槸浠�涔堟墍浠ヨ繖閲屾祴璇曟椂鍊欏湪鏀�
- return _stockInfoRepository.Db.Queryable<DtStockInfo>().Where(x => x.AreaCode == areaCode && Convert.ToDateTime(x.LinedProcessFeedbackTime) < DateTime.Now && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && roadways.Contains(x.LocationInfo.RoadwayNo))
- .Includes(x => x.LocationInfo)
- .Includes(x => x.StockInfoDetails)
- .OrderBy(x => x.CreateDate)
- .First();
+ //return _stockInfoRepository.QueryFirstNavAsync(x => x.AreaCode == areaCode && Convert.ToDateTime(x.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(x.SpecialParameterDuration)) < DateTime.Now
+ // && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && roadways.Contains(x.LocationInfo.RoadwayNo) && x.StockInfoDetails.Any(x => x.Status == (int)StockStateEmun.宸插叆搴�) && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock).Result;
+
+ var result = await _stockInfoRepository.QueryFirstNavAsync(x =>
+ x.AreaCode == areaCode &&
+ Convert.ToDateTime(x.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(x.SpecialParameterDuration)) < DateTime.Now &&
+ x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock &&
+ roadways.Contains(x.LocationInfo.RoadwayNo) &&
+ x.StockInfoDetails != null && x.StockInfoDetails.Any(detail => detail.Status == (int)StockStateEmun.宸插叆搴�));
+ return result;
}
/// <summary>
/// 鏌ヨ绌虹洏搴撳瓨淇℃伅
/// </summary>
- private DtStockInfo QueryStockInfoForEmptyTray(string areaCode, List<string> roadways)
+ private async Task<DtStockInfo> QueryStockInfoForEmptyTrayAsync(string areaCode, List<string> roadways)
{
- return _stockInfoRepository.Db.Queryable<DtStockInfo>().Where(x => x.AreaCode == areaCode && x.StockInfoDetails.Any(z => z.MaterielCode == "绌烘墭鐩�") && roadways.Contains(x.LocationInfo.RoadwayNo))
- .Includes(x => x.LocationInfo)
- .Includes(x => x.StockInfoDetails)
- .OrderBy(x => x.CreateDate)
- .First();
+ //return _stockInfoRepository.QueryFirstNavAsync(x => x.StockInfoDetails.Any(x => x.MaterielCode == "绌烘墭鐩�") && roadways.Contains(x.LocationInfo.RoadwayNo) && x.StockInfoDetails.Any(x => x.Status == (int)StockStateEmun.宸插叆搴�) && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock).Result;
+ var result = await _stockInfoRepository.QueryFirstNavAsync(x =>
+ x.StockInfoDetails != null && x.StockInfoDetails.Any(detail => detail.MaterielCode == "绌烘墭鐩�") &&
+ roadways.Contains(x.LocationInfo.RoadwayNo) &&
+ x.StockInfoDetails.Any(detail => detail.Status == (int)StockStateEmun.宸插叆搴�) &&
+ x.LocationInfo != null && x.LocationInfo.LocationStatus == (int)LocationEnum.InStock);
+ return result;
}
/// <summary>
@@ -1296,7 +1318,8 @@
WebResponseContent content = new WebResponseContent();
// 鑾峰彇鐩爣鍦板潃
- string ToAddress = await GetRoadWayAsync(process);
+ //string ToAddress = await GetRoadWayAsync(process);
+ string ToAddress = await GetRoadWayAsync(input, process);
// 鍒涘缓鏂颁换鍔″疄渚�
var task = new Dt_Task
@@ -1386,7 +1409,7 @@
/// <param name="Direction">鏂瑰悜</param>
/// <param name="area">鍏崇郴鍖哄煙</param>
/// <returns></returns>
- public async Task<string> GetRoadWayAsync(List<string> process)
+ public async Task<string> GetRoadWayAsync(RequestTaskDto input, List<string> process)
{
var minGroup = _locationRepository.QueryData(x => process.Contains(x.RoadwayNo) && x.LocationStatus == (int)LocationEnum.Free)
.GroupBy(x => x.RoadwayNo)
--
Gitblit v1.9.3