From f723c6e9087a2110a28572543c7cfd9104e2a4ed Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期一, 23 十二月 2024 20:52:58 +0800
Subject: [PATCH] 1
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs | 4
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs | 102 -----
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/测试架仓/GroundStationJob_CSJ.cs | 93 ++++
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 8
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CSJ.cs | 24 +
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c6122441-2f23-4566-894d-2438c126bfa0.vsidx | 0
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs | 1
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ApiInfo.cs | 6
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/油墨仓/StackerCraneJob_YM.cs | 101 +---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs | 100 +++++
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs | 4
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b38bf002-812b-4b12-b991-24b69f011aa6.vsidx | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs | 14
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/油墨仓/CommonHoisterJob.cs | 57 --
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 11
代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1030e901-57d8-49d3-8577-b4454b655f2c.vsidx | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 95 ++--
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP仓/StackerCraneJob_PP.cs | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 4
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs | 55 ++
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs | 32 -
代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/warehouse.js | 10
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 6
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/DBNames/GroundStationDBName.cs | 2
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e8a69a95-d256-4664-a68b-3579d7c901f3.vsidx | 0
/dev/null | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/干膜仓/StackerCraneJob_GM.cs | 3
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs | 118 ++----
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/StackerCraneJob_BC.cs | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/阻焊仓/StackerCraneJob_ZH.cs | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs | 71 +--
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs | 15
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/测试架仓/StackerCraneJob_CSJ.cs | 57 ++
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs | 15
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs | 118 ++---
代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7ab5e54f-e15f-4070-8b63-2b0d6e70b364.vsidx | 0
38 files changed, 631 insertions(+), 505 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/00a56665-6752-4d06-b9b6-0852d20709ee.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/00a56665-6752-4d06-b9b6-0852d20709ee.vsidx"
deleted file mode 100644
index 6913cde..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/00a56665-6752-4d06-b9b6-0852d20709ee.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1030e901-57d8-49d3-8577-b4454b655f2c.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1030e901-57d8-49d3-8577-b4454b655f2c.vsidx"
new file mode 100644
index 0000000..8b56de7
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1030e901-57d8-49d3-8577-b4454b655f2c.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/46d6cd41-4a65-4d05-9f72-66a9e3980a0c.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/46d6cd41-4a65-4d05-9f72-66a9e3980a0c.vsidx"
deleted file mode 100644
index cd5b5c7..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/46d6cd41-4a65-4d05-9f72-66a9e3980a0c.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7a005823-c1a7-4703-9472-7a90323886f9.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7a005823-c1a7-4703-9472-7a90323886f9.vsidx"
deleted file mode 100644
index 2e70448..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/7a005823-c1a7-4703-9472-7a90323886f9.vsidx"
+++ /dev/null
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b38bf002-812b-4b12-b991-24b69f011aa6.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b38bf002-812b-4b12-b991-24b69f011aa6.vsidx"
new file mode 100644
index 0000000..39180e0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/b38bf002-812b-4b12-b991-24b69f011aa6.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock"
deleted file mode 100644
index e69de29..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock"
+++ /dev/null
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs"
new file mode 100644
index 0000000..a29ca87
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/StationTypeEnum.cs"
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEAWCS_Common
+{
+ public enum StationTypeEnum
+ {
+ StationType_OnlyInbound = 1,
+ StationType_OnlyOutbound = 2,
+ StationType_InboundAndOutbound = 3
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs"
index 98a8147..004a523 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs"
@@ -18,45 +18,21 @@
public static TaskTypeGroup GetTaskTypeGroup(this int taskType)
{
- if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(taskType.ToString()).ToString(), out int result))
+ if (taskType >= 500 && taskType < 900)
{
return TaskTypeGroup.OutbondGroup;
}
- else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskType.ToString()).ToString(), out result))
+ else if (taskType >= 100 && taskType < 500)
{
return TaskTypeGroup.InboundGroup;
}
- else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(taskType.ToString()).ToString(), out result))
+ else if (taskType >= 900 && taskType < 1000)
{
return TaskTypeGroup.RelocationGroup;
}
- else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(taskType.ToString()).ToString(), out result))
+ else
{
return TaskTypeGroup.OtherGroup;
- }
- else
- {
- throw new NotImplementedException();
- }
- }
-
- public static int GetNextNotCompletedStatus<T>(this int currentStatus) where T : Enum
- {
- Type type = typeof(T);
- if (type is null) throw new ArgumentNullException();
- if (!type.IsEnum) return 0;
- if (type == typeof(TaskInStatusEnum))
- {
- List<int> taskInboundTypes = type.GetEnumIndexList();
- return taskInboundTypes.Where(x => x > currentStatus && x < (int)TaskInStatusEnum.InFinish).OrderBy(x => x).FirstOrDefault();
- }
- else if (type == typeof(TaskOutStatusEnum))
- {
- return type.GetEnumIndexList().Where(x => x > currentStatus && x < (int)TaskOutStatusEnum.OutFinish).OrderBy(x => x).FirstOrDefault();
- }
- else
- {
- throw new NotImplementedException();
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
index efd2b07..8424dd8 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs"
@@ -10,108 +10,72 @@
/// <summary>
/// 鍏ュ簱浠诲姟鐘舵��
/// </summary>
- public enum TaskInStatusEnum
- {
- /// <summary>
- /// 鏂板缓鍏ュ簱浠诲姟
- /// </summary>
- [Description("鏂板缓")]
- InNew = 200,
-
- /// <summary>
- /// 鍫嗗灈鏈哄叆搴撳緟鎵ц
- /// </summary>
- [Description("鍫嗗灈鏈哄叆搴撳緟鎵ц")]
- SC_InExecute = 225,
-
- /// <summary>
- /// 鍫嗗灈鏈哄叆搴撴墽琛屼腑
- /// </summary>
- [Description("鍫嗗灈鏈哄叆搴撴墽琛屼腑")]
- SC_InExecuting = 230,
-
- /// <summary>
- /// 鍫嗗灈鏈哄叆搴撳畬鎴�
- /// </summary>
- [Description("鍫嗗灈鏈哄叆搴撳畬鎴�")]
- SC_InFinish = 235,
-
- /// <summary>
- /// 鍏ュ簱浠诲姟瀹屾垚
- /// </summary>
- [Description("鍏ュ簱浠诲姟瀹屾垚")]
- InFinish = 290,
-
- /// <summary>
- /// 鍏ュ簱浠诲姟鎸傝捣
- /// </summary>
- [Description("鍏ュ簱浠诲姟鎸傝捣")]
- InPending = 297,
-
- /// <summary>
- /// 鍏ュ簱浠诲姟鍙栨秷
- /// </summary>
- [Description("鍏ュ簱浠诲姟鍙栨秷")]
- InCancel = 298,
-
- /// <summary>
- /// 鍏ュ簱浠诲姟寮傚父
- /// </summary>
- [Description("鍏ュ簱浠诲姟寮傚父")]
- InException = 299,
- }
-
- /// <summary>
- /// 鍑哄簱浠诲姟鐘舵��
- /// </summary>
- public enum TaskOutStatusEnum
+ public enum TaskStatusEnum
{
/// <summary>
/// 鏂板缓浠诲姟
/// </summary>
[Description("鏂板缓")]
- OutNew = 100,
+ New = 100,
/// <summary>
- /// 鍫嗗灈鏈哄嚭搴撳緟鎵ц
+ /// 鍫嗗灈鏈哄緟鎵ц
/// </summary>
- [Description("鍫嗗灈鏈哄嚭搴撳緟鎵ц")]
- SC_OutExecute = 125,
+ [Description("鍫嗗灈鏈哄緟鎵ц")]
+ SC_Execute = 200,
/// <summary>
- /// 鍫嗗灈鏈哄嚭搴撴墽琛屼腑
+ /// 鍫嗗灈鏈烘墽琛屼腑
/// </summary>
- [Description("鍫嗗灈鏈哄嚭搴撴墽琛屼腑")]
- SC_OutExecuting = 130,
+ [Description("鍫嗗灈鏈烘墽琛屼腑")]
+ SC_Executing = 210,
/// <summary>
- /// 鍫嗗灈鏈哄嚭搴撳畬鎴�
+ /// 鍫嗗灈鏈哄畬鎴�
/// </summary>
- [Description("鍫嗗灈鏈哄嚭搴撳畬鎴�")]
- SC_OutFinish = 135,
+ [Description("鍫嗗灈鏈哄畬鎴�")]
+ SC_Finish = 220,
/// <summary>
- /// 鍑哄簱浠诲姟瀹屾垚
+ /// AGV寰呮墽琛�
/// </summary>
- [Description("鍑哄簱浠诲姟瀹屾垚")]
- OutFinish = 190,
+ [Description("AGV寰呮墽琛�")]
+ AGV_Execute = 300,
/// <summary>
- /// 鍑哄簱浠诲姟鎸傝捣
+ /// AGV鎵ц涓�
/// </summary>
- [Description("鍑哄簱浠诲姟鎸傝捣")]
- OutPending = 197,
+ [Description("AGV鎵ц涓�")]
+ AGV_Executing = 310,
/// <summary>
- /// 鍑哄簱浠诲姟鍙栨秷
+ /// AGV瀹屾垚
/// </summary>
- [Description("鍑哄簱浠诲姟鍙栨秷")]
- OutCancel = 198,
+ [Description("AGV瀹屾垚")]
+ AGV_Finish = 320,
/// <summary>
- /// 鍑哄簱浠诲姟寮傚父
+ /// 浠诲姟瀹屾垚
/// </summary>
- [Description("鍑哄簱浠诲姟寮傚父")]
- OutException = 199,
+ [Description("浠诲姟瀹屾垚")]
+ Finish = 900,
+
+ /// <summary>
+ /// 浠诲姟鎸傝捣
+ /// </summary>
+ [Description("浠诲姟鎸傝捣")]
+ Pending = 970,
+
+ /// <summary>
+ /// 浠诲姟鍙栨秷
+ /// </summary>
+ [Description("浠诲姟鍙栨秷")]
+ Cancel = 980,
+
+ /// <summary>
+ /// 浠诲姟寮傚父
+ /// </summary>
+ [Description("浠诲姟寮傚父")]
+ Exception = 990,
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
index 33dfdfc..6401cc0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
@@ -7,70 +7,55 @@
namespace WIDESEAWCS_Common.TaskEnum
{
- public enum TaskInboundTypeEnum
+ public enum TaskTypeEnum
{
/// <summary>
- /// 鍏ュ簱
+ /// 棰嗘枡鍑哄簱
/// </summary>
- [Description("鍏ュ簱")]
- Inbound = 200,
- /// <summary>
- /// 鐩樼偣鍏ュ簱
- /// </summary>
- [Description("鐩樼偣鍏ュ簱")]
- InInventory = 201,
- /// <summary>
- /// 鍒嗘嫞鍏ュ簱
- /// </summary>
- [Description("鍒嗘嫞鍏ュ簱")]
- InPick = 202,
- /// <summary>
- /// 璐ㄦ鍏ュ簱
- /// </summary>
- [Description("璐ㄦ鍏ュ簱")]
- InQuality = 203
- }
-
- public enum TaskOutboundTypeEnum
- {
- /// <summary>
- /// 鍑哄簱
- /// </summary>
- [Description("鍑哄簱")]
+ [Description("棰嗘枡鍑哄簱")]
Outbound = 100,
/// <summary>
/// 鐩樼偣鍑哄簱
/// </summary>
[Description("鐩樼偣鍑哄簱")]
- OutInventory = 101,
+ OutInventory = 110,
/// <summary>
/// 鍒嗘嫞鍑哄簱
/// </summary>
[Description("鍒嗘嫞鍑哄簱")]
- OutPick = 102,
+ OutPick = 120,
/// <summary>
/// 璐ㄦ鍑哄簱
/// </summary>
[Description("璐ㄦ鍑哄簱")]
- OutQuality = 103,
- }
+ OutQuality = 130,
- public enum TaskRelocationTypeEnum
- {
/// <summary>
- /// 搴撳唴绉诲簱
+ /// 閲囪喘鍏ュ簱
/// </summary>
- [Description("搴撳唴绉诲簱")]
- Relocation = 300,
+ [Description("閲囪喘鍏ュ簱")]
+ Inbound = 510,
/// <summary>
- /// 搴撳绉诲簱
+ /// 鐩樼偣鍏ュ簱
/// </summary>
- [Description("搴撳绉诲簱")]
- RelocationIn = 301
+ [Description("鐩樼偣鍏ュ簱")]
+ InInventory = 520,
+ /// <summary>
+ /// 鍒嗘嫞鍏ュ簱
+ /// </summary>
+ [Description("鍒嗘嫞鍏ュ簱")]
+ InPick = 530,
+ /// <summary>
+ /// 璐ㄦ鍏ュ簱
+ /// </summary>
+ [Description("璐ㄦ鍏ュ簱")]
+ InQuality = 540,
+
+ /// <summary>
+ /// 宸烽亾鍐呯Щ搴�
+ /// </summary>
+ [Description("宸烽亾鍐呯Щ搴�")]
+ Relocation = 900
}
- public enum TaskOtherTypeEnum
- {
-
- }
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
index 5844ddd..ff58ac3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
@@ -11,17 +11,17 @@
/// <summary>
/// WMS浠诲姟涓婚敭
/// </summary>
- public int Id { get; set; }
+ public int Id { get; set; }
/// <summary>
/// 浠诲姟鍙�
/// </summary>
- public int TaskNum { get; set; }
+ public int TaskNum { get; set; }
/// <summary>
/// 鎵樼洏鍙�
/// </summary>
- public string PalletCode { get; set; }
+ public string PalletCode { get; set; }
/// <summary>
/// 宸烽亾鍙�
@@ -31,7 +31,7 @@
/// <summary>
/// 浠诲姟绫诲瀷
/// </summary>
- public int TaskType { get; set; }
+ public int TaskType { get; set; }
/// <summary>
/// 浠诲姟鐘舵��
@@ -41,16 +41,16 @@
/// <summary>
/// 璧风偣
/// </summary>
- public string SourceAddress { get; set; }
+ public string SourceAddress { get; set; }
/// <summary>
/// 缁堢偣
/// </summary>
- public string TargetAddress { get; set; }
+ public string TargetAddress { get; set; }
/// <summary>
/// 浼樺厛绾�
/// </summary>
- public int Grade { get; set; }
+ public int Grade { get; set; }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index 6b97c18..0fa1d52 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -47,7 +47,7 @@
/// <summary>
/// 鎵�鏈夊嚭搴撲换鍔$被鍨�
/// </summary>
- public List<int> TaskOutboundTypes { get; }
+ public List<int> TaskOutboundTypes { get; }
/// <summary>
/// 鎺ユ敹WMS浠诲姟淇℃伅
@@ -64,6 +64,12 @@
/// <returns></returns>
WebResponseContent RequestWMSTask(string palletCode, string sourceAddress);
+ /// <summary>
+ /// 鍚慦MS鐢宠鍒嗛厤璐т綅
+ /// </summary>
+ /// <param name="taskNum">浠诲姟鍙�</param>
+ /// <param name="roadwayNo">宸烽亾鍙�</param>
+ /// <returns></returns>
string? RequestAssignLocation(int taskNum, string roadwayNo);
/// <summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ApiInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ApiInfo.cs"
index a2ab325..4e043be 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ApiInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ApiInfo.cs"
@@ -16,21 +16,25 @@
/// </summary>
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
public int Id { get; set; }
+
/// <summary>
/// 鎺ュ彛缂栧彿
/// </summary>
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎺ュ彛缂栧彿")]
public string ApiCode { get; set; }
+
/// <summary>
/// 鎺ュ彛鍚嶇О
/// </summary>
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鎺ュ彛鍚嶇О")]
public string ApiName { get; set; }
+
/// <summary>
/// 鎺ュ彛鍦板潃
/// </summary>
- [SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "鎺ュ彛鍦板潃")]
+ [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "鎺ュ彛鍦板潃")]
public string ApiAddress { get; set; }
+
/// <summary>
/// 澶囨敞
/// </summary>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskFlow.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskFlow.cs"
deleted file mode 100644
index 4ba8898..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskFlow.cs"
+++ /dev/null
@@ -1,20 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Core.DB.Models;
-
-namespace WIDESEAWCS_Model.Models.TaskFlowConfig
-{
- public class Dt_TaskFlow : BaseEntity
- {
- public int TaskFlowId { get; set; }
-
- public int TaskTypeId { get; set; }
-
- public string TaskFlowName { get; set; }
-
- public string TaskFlowDescription { get; set; }
- }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskFlowStep.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskFlowStep.cs"
deleted file mode 100644
index d08789b..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskFlowStep.cs"
+++ /dev/null
@@ -1,20 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Core.DB.Models;
-
-namespace WIDESEAWCS_Model.Models.TaskFlowConfig
-{
- public class Dt_TaskFlowStep : BaseEntity
- {
- public int StepId { get; set; }
-
- public int TaskFlowId { get; set; }
-
- public int NextStepId { get; set; }
-
- public int SequenceOrder { get; set; }
- }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskType.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskType.cs"
deleted file mode 100644
index 44f9f41..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskFlowConfig/Dt_TaskType.cs"
+++ /dev/null
@@ -1,21 +0,0 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Core.DB.Models;
-
-namespace WIDESEAWCS_Model.Models.TaskFlowConfig
-{
-
- public class Dt_TaskType : BaseEntity
- {
- public int TaskTypeId { get; set; }
-
- public string TaskType { get; set; }
-
- public string TaskTypeName { get; set; }
-
- public string TaskTypeDescription { get; set; }
- }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj"
index e4e80a5..1894ea5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/WIDESEAWCS_Model.csproj"
@@ -8,7 +8,7 @@
<ItemGroup>
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
- <PackageReference Include="WIDESEAWCS_Core" Version="1.0.9" />
+ <PackageReference Include="WIDESEAWCS_Core" Version="1.0.10" />
</ItemGroup>
<ItemGroup>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs"
index 683857f..bf814b7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/AGVController.cs"
@@ -5,7 +5,7 @@
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_Tasks.闃荤剨浠�;
+using WIDESEAWCS_Tasks;
namespace WIDESEAWCS_Server.Controllers
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
index 4af342e..e47a9bd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/System/Sys_DictionaryController.cs"
@@ -175,80 +175,14 @@
{
List<object> data = new List<object>();
- #region TaskInboundTypeEnum
+ #region TaskTypeEnum
{
- Type type = typeof(TaskInboundTypeEnum);
- List<int> enums = Enum.GetValues(typeof(TaskInboundTypeEnum)).Cast<int>().ToList();
+ Type type = typeof(TaskTypeEnum);
+ List<int> enums = Enum.GetValues(typeof(TaskTypeEnum)).Cast<int>().ToList();
int index = 0;
foreach (var item in enums)
{
- FieldInfo? fieldInfo = typeof(TaskInboundTypeEnum).GetField(((TaskInboundTypeEnum)item).ToString());
- DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
- if (description != null)
- {
- data.Add(new { key = item.ToString(), value = description.Description });
- }
- else
- {
- data.Add(new { key = item.ToString(), value = item.ToString() });
- }
- index++;
- }
- }
- #endregion
-
- #region TaskOutboundTypeEnum
- {
- Type type = typeof(TaskOutboundTypeEnum);
- List<int> enums = Enum.GetValues(typeof(TaskOutboundTypeEnum)).Cast<int>().ToList();
- int index = 0;
- foreach (var item in enums)
- {
- FieldInfo? fieldInfo = typeof(TaskOutboundTypeEnum).GetField(((TaskOutboundTypeEnum)item).ToString());
- DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
- if (description != null)
- {
- data.Add(new { key = item.ToString(), value = description.Description });
- }
- else
- {
- data.Add(new { key = item.ToString(), value = item.ToString() });
- }
- index++;
- }
- }
- #endregion
-
- #region TaskRelocationTypeEnum
- {
- Type type = typeof(TaskRelocationTypeEnum);
- List<int> enums = Enum.GetValues(typeof(TaskRelocationTypeEnum)).Cast<int>().ToList();
- int index = 0;
- foreach (var item in enums)
- {
- FieldInfo? fieldInfo = typeof(TaskRelocationTypeEnum).GetField(((TaskRelocationTypeEnum)item).ToString());
- DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
- if (description != null)
- {
- data.Add(new { key = item.ToString(), value = description.Description });
- }
- else
- {
- data.Add(new { key = item.ToString(), value = item.ToString() });
- }
- index++;
- }
- }
- #endregion
-
- #region TaskOtherTypeEnum
- {
- Type type = typeof(TaskOtherTypeEnum);
- List<int> enums = Enum.GetValues(typeof(TaskOtherTypeEnum)).Cast<int>().ToList();
- int index = 0;
- foreach (var item in enums)
- {
- FieldInfo? fieldInfo = typeof(TaskOtherTypeEnum).GetField(((TaskOtherTypeEnum)item).ToString());
+ FieldInfo? fieldInfo = typeof(TaskTypeEnum).GetField(((TaskTypeEnum)item).ToString());
DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
if (description != null)
{
@@ -272,34 +206,12 @@
#region TaskInStatusEnum
{
- Type type = typeof(TaskInStatusEnum);
- List<int> enums = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList();
+ Type type = typeof(TaskStatusEnum);
+ List<int> enums = Enum.GetValues(typeof(TaskStatusEnum)).Cast<int>().ToList();
int index = 0;
foreach (var item in enums)
{
- FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString());
- DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
- if (description != null)
- {
- data.Add(new { key = item.ToString(), value = description.Description });
- }
- else
- {
- data.Add(new { key = item.ToString(), value = item.ToString() });
- }
- index++;
- }
- }
- #endregion
-
- #region TaskOutStatusEnum
- {
- Type type = typeof(TaskOutStatusEnum);
- List<int> enums = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().ToList();
- int index = 0;
- foreach (var item in enums)
- {
- FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
+ FieldInfo? fieldInfo = typeof(TaskStatusEnum).GetField(((TaskStatusEnum)item).ToString());
DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
if (description != null)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs"
index fa13d12..18b5cc0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/InvokeAGVService.cs"
@@ -25,8 +25,8 @@
{
string apiAddress = AppSettings.Get(APIEnum.AgvSendTask.ToString());
string response = HttpHelper.Post(apiAddress, taskModel.Serialize());
- AgvResponseContent agvContent= response.DeserializeObject<AgvResponseContent>();
- if (agvContent.Code=="200")
+ AgvResponseContent agvContent = response.DeserializeObject<AgvResponseContent>();
+ if (agvContent.Code == "200")
{
content.OK(agvContent.Message);
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
index 9d23f8a..b018095 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs"
@@ -51,15 +51,9 @@
int taskNum = task.TaskNum;
int taskState = task.TaskState;
- if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
+ if(taskState > (int)TaskStatusEnum.Finish)
{
- if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
- isNormal = false;
- }
- else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
- {
- if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
- isNormal = false;
+ isNormal = false;
}
Dt_TaskExecuteDetail taskExecuteDetail = new()
{
@@ -93,15 +87,9 @@
int taskNum = task.TaskNum;
int taskState = task.TaskState;
- if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
+ if (taskState > (int)TaskStatusEnum.Finish)
{
- if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
- isNormal = false;
- }
- else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
- {
- if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
- isNormal = false;
+ isNormal = false;
}
Dt_TaskExecuteDetail taskExecuteDetail = new()
{
@@ -137,57 +125,57 @@
if (task != null)
{
- if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
- {
- steps = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().Where(x => x <= (int)TaskOutStatusEnum.OutFinish).ToList();
+ //if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result))
+ //{
+ // steps = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().Where(x => x <= (int)TaskOutStatusEnum.OutFinish).ToList();
- foreach (var item in steps)
- {
- object obj;
- FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
- DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
- if (descriptionAttribute != null)
- {
- obj = new { title = item, description = descriptionAttribute.Description };
- }
- else
- {
- obj = new { title = item, description = ((TaskOutStatusEnum)item).ToString() };
- }
- list.Add(obj);
- }
- }
- else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result))
- {
- steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x <= (int)TaskInStatusEnum.InFinish).ToList();
- foreach (var item in steps)
- {
- object obj;
- FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString());
- DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
- if (descriptionAttribute != null)
- {
- obj = new { title = item, description = descriptionAttribute.Description };
- }
- else
- {
- obj = new { title = item, description = ((TaskInStatusEnum)item).ToString() };
- }
- list.Add(obj);
- }
- }
- else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
- {
- //todo 璋冪敤WMS绉诲簱瀹屾垚
- }
- else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result))
- {
+ // foreach (var item in steps)
+ // {
+ // object obj;
+ // FieldInfo? fieldInfo = typeof(TaskOutStatusEnum).GetField(((TaskOutStatusEnum)item).ToString());
+ // DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+ // if (descriptionAttribute != null)
+ // {
+ // obj = new { title = item, description = descriptionAttribute.Description };
+ // }
+ // else
+ // {
+ // obj = new { title = item, description = ((TaskOutStatusEnum)item).ToString() };
+ // }
+ // list.Add(obj);
+ // }
+ //}
+ //else if (!int.TryParse(Enum.Parse<TaskTypeEnum>(task.TaskType.ToString()).ToString(), out result))
+ //{
+ // steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x <= (int)TaskInStatusEnum.InFinish).ToList();
+ // foreach (var item in steps)
+ // {
+ // object obj;
+ // FieldInfo? fieldInfo = typeof(TaskInStatusEnum).GetField(((TaskInStatusEnum)item).ToString());
+ // DescriptionAttribute? descriptionAttribute = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+ // if (descriptionAttribute != null)
+ // {
+ // obj = new { title = item, description = descriptionAttribute.Description };
+ // }
+ // else
+ // {
+ // obj = new { title = item, description = ((TaskInStatusEnum)item).ToString() };
+ // }
+ // list.Add(obj);
+ // }
+ //}
+ //else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result))
+ //{
+ // //todo 璋冪敤WMS绉诲簱瀹屾垚
+ //}
+ //else if (!int.TryParse(Enum.Parse<TaskOtherTypeEnum>(task.TaskType.ToString()).ToString(), out result))
+ //{
- }
- else
- {
- throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
- }
+ //}
+ //else
+ //{
+ // throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
+ //}
active = steps.IndexOf(task.TaskState) + 1;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index af188c5..d1dc670 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -33,6 +33,7 @@
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
@@ -47,6 +48,7 @@
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository;
private readonly IMapper _mapper;
+ private readonly IStationMangerRepository _stationMangerRepository;
private Dictionary<string, OrderByType> _taskOrderBy = new()
{
@@ -56,16 +58,17 @@
public Dictionary<string, OrderByType> TaskOrderBy { get { return _taskOrderBy; } set { _taskOrderBy = value; } }
- public List<int> TaskInboundTypes => typeof(TaskInboundTypeEnum).GetEnumIndexList();
+ public List<int> TaskInboundTypes => typeof(TaskTypeEnum).GetEnumIndexList().Where(x => x >= 100 && x < 500).ToList();
- public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList();
+ public List<int> TaskOutboundTypes => typeof(TaskTypeEnum).GetEnumIndexList().Where(x => x >= 500 && x < 900).ToList();
- 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, IStationMangerRepository stationMangerRepository) : base(BaseDal)
{
_routerService = routerService;
_taskExecuteDetailService = taskExecuteDetailService;
_taskExecuteDetailRepository = taskExecuteDetailRepository;
_mapper = mapper;
+ _stationMangerRepository = stationMangerRepository;
}
/// <summary>
@@ -81,24 +84,17 @@
List<Dt_Task> tasks = new List<Dt_Task>();
foreach (var item in taskDTOs)
{
+
if (BaseDal.QueryFirst(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode) != null)
{
continue;
}
Dt_Task task = _mapper.Map<Dt_Task>(item);
task.Creater = "WMS";
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
- {
- task.TaskState = (int)TaskOutStatusEnum.OutNew;
- task.CurrentAddress = item.SourceAddress;
- task.NextAddress = item.TargetAddress;
+ task.TaskState = (int)TaskStatusEnum.New;
+ task.CurrentAddress = item.SourceAddress;
+ task.NextAddress = item.TargetAddress;
- }
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
- {
- task.TaskState = (int)TaskInStatusEnum.InNew; task.CurrentAddress = item.SourceAddress;
- task.NextAddress = item.TargetAddress;
- }
tasks.Add(task);
}
BaseDal.AddData(tasks);
@@ -125,18 +121,15 @@
WebResponseContent content = new WebResponseContent();
try
{
- WMSTaskDTO taskDTO = new WMSTaskDTO()
+ Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.StationDeviceCode == sourceAddress);
+ if (stationManger == null)
{
- TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
- Grade = 1,
- PalletCode = palletCode,
- RoadWay = "SC01",
- SourceAddress = sourceAddress,
- TargetAddress = "SC01",
- TaskStatus = (int)TaskInStatusEnum.InNew,
- Id = 0,
- TaskType = (int)TaskInboundTypeEnum.Inbound
- };
+ return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙颁俊鎭�");
+ }
+
+ HttpHelper.Post($"RequestInboundTask?palletCode={palletCode}&stationCode={sourceAddress}");
+
+ WMSTaskDTO taskDTO = new WMSTaskDTO();
content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
}
@@ -147,6 +140,12 @@
return content;
}
+ /// <summary>
+ /// 鍚慦MS鐢宠鍒嗛厤璐т綅
+ /// </summary>
+ /// <param name="taskNum">浠诲姟鍙�</param>
+ /// <param name="roadwayNo">宸烽亾鍙�</param>
+ /// <returns></returns>
public string? RequestAssignLocation(int taskNum, string roadwayNo)
{
string responseStr = HttpHelper.Get($"http://127.0.0.1:9293/api/Task/AssignInboundTaskLocation?taskNum={taskNum}&roadwayNo={roadwayNo}");
@@ -169,11 +168,11 @@
public Dt_Task? QuertStackerCraneTask(string deviceNo, TaskTypeGroup? taskTypeGroup = null)
{
if (taskTypeGroup == null)
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InExecute || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && x.TaskState == (int)TaskStatusEnum.New, TaskOrderBy);
if (taskTypeGroup.Value == TaskTypeGroup.InboundGroup)
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InExecute, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
if (taskTypeGroup.Value == TaskTypeGroup.OutbondGroup)
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutExecute, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
return null;
}
@@ -186,9 +185,9 @@
public Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = "")
{
if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InExecute || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && x.TaskState == (int)TaskStatusEnum.New, TaskOrderBy);
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InExecute || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutExecute), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && x.CurrentAddress == currentAddress && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
}
/// <summary>
@@ -200,9 +199,9 @@
public Dt_Task QueryStackerCraneInTask(string deviceNo, string currentAddress = "")
{
if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InExecute, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InExecute && x.CurrentAddress == currentAddress, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute && x.CurrentAddress == currentAddress, TaskOrderBy);
}
/// <summary>
@@ -214,9 +213,9 @@
public Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = "")
{
if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutExecute, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute, TaskOrderBy);
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutExecute && x.CurrentAddress == currentAddress, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.DeviceCode == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute && x.CurrentAddress == currentAddress, TaskOrderBy);
}
/// <summary>
@@ -227,9 +226,14 @@
/// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄闆嗗悎锛屽彲鑳戒负null</returns>
public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes)
{
- return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutExecute && outStationCodes.Contains(x.CurrentAddress), TaskOrderBy);
+ return BaseDal.QueryData(x => x.DeviceCode == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.SC_Execute && outStationCodes.Contains(x.CurrentAddress), TaskOrderBy);
}
+ /// <summary>
+ /// 鏇存柊浠诲姟寮傚父淇℃伅鏄剧ず
+ /// </summary>
+ /// <param name="taskNum">浠诲姟鍙�</param>
+ /// <param name="message">寮傚父淇℃伅</param>
public WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message)
{
WebResponseContent content = new WebResponseContent();
@@ -237,14 +241,7 @@
{
Dt_Task 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.OutPending;
- }
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
- {
- task.TaskState = (int)TaskInStatusEnum.InPending;
- }
+ task.TaskState = (int)TaskStatusEnum.Pending;
task.ExceptionMessage = message;
task.ModifyDate = DateTime.Now;
BaseDal.UpdateData(task);
@@ -272,7 +269,7 @@
{
Dt_Task 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)
+ if (task.TaskState != (int)TaskStatusEnum.Pending)
{
return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙仮澶�,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
}
@@ -284,15 +281,7 @@
}
else
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
- {
- task.TaskState = (int)TaskOutStatusEnum.OutNew;
- }
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
- {
- task.TaskState = (int)TaskInStatusEnum.InNew;
- }
- //todo
+ task.TaskState = (int)TaskStatusEnum.New;
}
task.ExceptionMessage = string.Empty;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/GroundStationDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/DBNames/GroundStationDBName.cs"
similarity index 96%
rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/GroundStationDBName.cs"
rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/DBNames/GroundStationDBName.cs"
index a310009..4b10952 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/GroundStationDBName.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/DBNames/GroundStationDBName.cs"
@@ -4,7 +4,7 @@
using System.Text;
using System.Threading.Tasks;
-namespace WIDESEAWCS_Tasks.闃荤剨浠�
+namespace WIDESEAWCS_Tasks
{
public enum GroundStationDBName
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP\344\273\223/StackerCraneJob_PP.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP\344\273\223/StackerCraneJob_PP.cs"
index 2345f90..3da3cfd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP\344\273\223/StackerCraneJob_PP.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PP\344\273\223/StackerCraneJob_PP.cs"
@@ -166,7 +166,7 @@
/// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
{
- Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.Roadway);
+ Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.DeviceCode);
if (stationManger != null)
{
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index 4d8b471..2b6d582 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -162,13 +162,13 @@
/// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
{
- Dt_Router? router = _routerService.QueryNextRoutes(task.Roadway, task.NextAddress).FirstOrDefault();
+ Dt_Router? router = _routerService.QueryNextRoutes(task.DeviceCode, task.NextAddress).FirstOrDefault();
if (router != null)
{
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == router.ChildPosiDeviceCode);
if (device != null)
{
- if (device.DeviceCode == "YMCTSJ" || task.Roadway == "CSJCSC01") return task;
+ if (device.DeviceCode == "YMCTSJ" || task.DeviceCode == "CSJCSC01") return task;
CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
if (conveyorLine.IsOccupied(router.ChildPosi))//鍑哄簱绔欏彴鏈鍗犵敤
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs"
index 424425e..2c10b52 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\345\271\262\350\206\234\344\273\223/StackerCraneJob_GM.cs"
@@ -19,7 +19,6 @@
using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
using WIDESEAWCS_Tasks.HoisterJob;
using WIDESEAWCS_Tasks.StackerCraneJob;
-using WIDESEAWCS_Tasks.闃荤剨浠�;
namespace WIDESEAWCS_Tasks
{
@@ -166,7 +165,7 @@
/// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
{
- Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.Roadway);
+ Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.DeviceCode);
if (stationManger != null)
{
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
index eba2492..7368d05 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/StackerCraneJob_BC.cs"
@@ -166,7 +166,7 @@
/// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
{
- Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.Roadway);
+ Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.DeviceCode);
if (stationManger != null)
{
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs"
index 6152060..62c0a55 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/CommonHoisterJob.cs"
@@ -64,7 +64,7 @@
if (leisure && tray && !requestIn && !inbounding && !requestOut && !outbounding)
{
- Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && x.SourceAddress == deviceChildCode);
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && x.SourceAddress == deviceChildCode && _taskService.TaskInboundTypes.Contains(x.TaskType));
if (task != null)
{
bool isWrite = hoister.SetValue(HoisterDBName.RequestIn, true, deviceChildCode);
@@ -73,7 +73,7 @@
}
else if (!leisure && tray && requestIn && inbounding && !requestOut && !outbounding)
{
- Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && x.SourceAddress == deviceChildCode);
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && x.SourceAddress == deviceChildCode && _taskService.TaskInboundTypes.Contains(x.TaskType));
if (task != null)
{
Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationDeviceCode == deviceChildCode);
@@ -91,8 +91,8 @@
task.TargetAddress = locationCode;
task.NextAddress = locationCode;
- task.Roadway = stationManger.StackerCraneCode;
- task.TaskState = TaskInStatusEnum.SC_InExecute.ObjToInt();
+ task.DeviceCode = stationManger.StackerCraneCode;
+ task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
_taskRepository.UpdateData(task);
bool isWrite = hoister.SetValue(HoisterDBName.RequestIn, false, deviceChildCode);
@@ -104,7 +104,7 @@
}
else if (leisure && !tray && !requestIn && !inbounding && !requestOut && !outbounding)
{
- Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress));
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && _taskService.TaskOutboundTypes.Contains(x.TaskType));
if (task != null)
{
bool isWrite = hoister.SetValue(HoisterDBName.RequestOut, true, deviceChildCode);
@@ -113,7 +113,7 @@
}
else if (!leisure && !tray && !requestIn && !inbounding && requestOut && outbounding)
{
- Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && x.SourceAddress == deviceChildCode);
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.TargetAddress) && _taskService.TaskOutboundTypes.Contains(x.TaskType));
if (task != null)
{
Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationDeviceCode == deviceChildCode);
@@ -125,8 +125,8 @@
task.TargetAddress = deviceChildCode;
task.NextAddress = deviceChildCode;
- task.Roadway = stationManger.StackerCraneCode;
- task.TaskState = TaskInStatusEnum.SC_InExecute.ObjToInt();
+ task.DeviceCode = stationManger.StackerCraneCode;
+ task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
_taskRepository.UpdateData(task);
bool isWrite = hoister.SetValue(HoisterDBName.RequestIn, false, deviceChildCode);
@@ -136,47 +136,6 @@
WriteInfo(hoister.DeviceName, $"鏈壘鍒板搴旂珯鍙颁俊鎭�,{deviceChildCode}");
}
}
-
-
- //if (tray && leisure)
- //{
- //#region 鏌ヨ缁勭洏淇℃伅
- //鍚慦MS鐢宠鏌ヨ褰撳墠鎻愬崌鏈哄彛鐨勭粍鐩樹俊鎭紝瀛樺湪缁勭洏淇℃伅杩斿洖鍏ュ簱浠诲姟骞跺彂鍑哄叆搴撶敵璇�
- //var task = _taskService.QueryExecutingConveyorLineTask(1, deviceChildCode);
- //if (Leisure && task != null)
- // Hoister.SetValue(HoisterDBName.RequestIn, true, deviceChildCode);
-
- //#endregion
- //var Inbounding = Hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Inbounding, deviceChildCode);
- //if (Inbounding && task != null)
- //{
- // task.TaskState = (int)TaskInStatusEnum.SC_InExecute;
- // task.NextAddress = "001-003-001";
- // _taskService.UpdateData(task);
- // //鏇存柊浠诲姟鐘舵�佸苟鍙栨秷鍏ュ簱鐢宠
- // Hoister.SetValue(HoisterDBName.RequestIn, false, deviceChildCode);
- //}
- //}
- //else
- //{
-
-
- //鏌ヨ鍑哄簱浠诲姟,瀛樺湪鍑哄簱浠诲姟鍙戝嚭鍑哄簱鐢宠
- //var task = _taskService.QueryExecutingConveyorLineTask(2, deviceChildCode);
- //if (task != null && Leisure)
- // Hoister.SetValue(HoisterDBName.RequestOut, true, deviceChildCode);
- //var Outbounding = Hoister.GetValue<HoisterDBName, bool>(HoisterDBName.Outbounding, deviceChildCode);
- //if (Outbounding && task != null)
- //{
- // task.NextAddress = deviceChildCode;
- // task.TargetAddress = deviceChildCode;
- // task.TaskState = (int)TaskOutStatusEnum.OutNew;
- // _taskService.UpdateData(task);
- // //鏇存柊浠诲姟鐘舵�佸苟鍙栨秷鍑哄簱鐢宠
- // Hoister.SetValue(HoisterDBName.RequestOut, false, deviceChildCode);
- //}
- //}
-
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/StackerCraneJob_YM.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/StackerCraneJob_YM.cs"
index 53ed581..17fbe79 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/StackerCraneJob_YM.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\262\271\345\242\250\344\273\223/StackerCraneJob_YM.cs"
@@ -21,7 +21,6 @@
using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
using WIDESEAWCS_Tasks.HoisterJob;
using WIDESEAWCS_Tasks.StackerCraneJob;
-using WIDESEAWCS_Tasks.闃荤剨浠�;
namespace WIDESEAWCS_Tasks
{
@@ -48,44 +47,32 @@
public Task Execute(IJobExecutionContext context)
{
+ CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
try
{
- CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
if (commonStackerCrane != null)
{
if (!commonStackerCrane.IsEventSubscribed)
{
commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢
}
-
- if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal)
+ commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆�
+ if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal && commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
{
- commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆�
-
- if (commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
+ Dt_Task? task = GetTask(commonStackerCrane);
+ if (task != null)
{
- Dt_Task? task = GetTask(commonStackerCrane);
- if (task != null)
+ StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
+ if (stackerCraneTaskCommand != null)
{
- StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
- if (stackerCraneTaskCommand != null)
+ bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
+ if (sendFlag)
{
- bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
- if (sendFlag)
- {
- commonStackerCrane.LastTaskType = task.TaskType;
- int oldState = task.TaskState;
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
- {
- task.TaskState = TaskInStatusEnum.SC_InExecuting.ObjToInt();
- }
- else
- {
- task.TaskState = TaskOutStatusEnum.SC_OutExecuting.ObjToInt();
- }
- _taskRepository.UpdateData(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�");
- }
+ commonStackerCrane.LastTaskType = task.TaskType;
+ int oldState = task.TaskState;
+ task.TaskState = TaskStatusEnum.SC_Executing.ObjToInt();
+ _taskRepository.UpdateData(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�");
}
}
}
@@ -94,7 +81,7 @@
}
catch (Exception ex)
{
- WriteError(nameof(CommonStackerCraneJob), ex.Message, ex);
+ WriteError(commonStackerCrane.DeviceName, ex.Message, ex);
}
return Task.CompletedTask;
}
@@ -115,7 +102,9 @@
Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum);
if (task != null)
{
-
+ _taskExecuteDetailService.AddTaskExecuteDetail(e.TaskNum, $"绯荤粺鑷姩娴佺▼,浠诲姟瀹屾垚");
+ _taskRepository.DeleteAndMoveIntoHty(task, OperateTypeEnum.鑷姩瀹屾垚);
+ HttpHelper.Post("", "");//todo 璋冪敤WMS浠诲姟瀹屾垚鏂规硶
}
else
{
@@ -189,7 +178,7 @@
/// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
{
- Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.Roadway);
+ Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.DeviceCode);
if (stationManger != null)
{
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
@@ -231,9 +220,6 @@
stackerCraneTaskCommand.TrayType = 1;
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
{
- //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway);
- //if (routers.Count > 0)
- //{
string[] startCodes = task.CurrentAddress.Split("-");
stackerCraneTaskCommand.StartRow = Convert.ToInt16(startCodes[0]);
@@ -253,43 +239,28 @@
_taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�");
return null;
}
- //}
- //else
- //{
- // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅");
- // return null;
- //}
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
- //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress);
- //if (routers.Count > 0)
+ string[] targetCodes = task.NextAddress.Split("-");
+
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
+ stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
+ stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
+
+ string[] sourceCodes = task.CurrentAddress.Split("-");
+ if (sourceCodes.Length == 3)
{
- string[] targetCodes = task.NextAddress.Split("-");
-
- stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
- stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
- stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
-
- string[] sourceCodes = task.CurrentAddress.Split("-");
- if (sourceCodes.Length == 3)
- {
- stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
- stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
- stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
- }
- else
- {
- //鏁版嵁閰嶇疆閿欒
- _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
- return null;
- }
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
+ stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
+ stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
}
- //else
- //{
- // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鏀捐揣绔欏彴淇℃伅");
- // return null;
- //}
+ else
+ {
+ //鏁版嵁閰嶇疆閿欒
+ _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
+ return null;
+ }
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/GroundStationJob_CSJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/GroundStationJob_CSJ.cs"
new file mode 100644
index 0000000..023c6cd
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/GroundStationJob_CSJ.cs"
@@ -0,0 +1,93 @@
+锘縰sing Quartz;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoRepository;
+using WIDESEAWCS_ITaskInfoRepository;
+using WIDESEAWCS_ITaskInfoService;
+using WIDESEAWCS_Model.Models;
+using WIDESEAWCS_QuartzJob;
+
+namespace WIDESEAWCS_Tasks
+{
+ /// <summary>
+ /// 娴嬭瘯鏋朵粨鍦伴潰绔�
+ /// </summary>
+ [DisallowConcurrentExecution]
+ public class GroundStationJob_CSJ : JobBase, IJob
+ {
+ private readonly ITaskService _taskService;
+ private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly ITaskRepository _taskRepository;
+ private readonly IStationMangerRepository _stationMangerRepository;
+
+ public GroundStationJob_CSJ(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository)
+ {
+ _taskService = taskService;
+ _taskExecuteDetailService = taskExecuteDetailService;
+ _taskRepository = taskRepository;
+ _stationMangerRepository = stationMangerRepository;
+ }
+
+ public Task Execute(IJobExecutionContext context)
+ {
+ OtherDevice device = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams");
+ try
+ {
+ if (device == null)
+ {
+ WriteInfo(nameof(GroundStationJob_CSJ), "璋冨害閿欒,璁惧瀵硅薄浼犲�间负null");
+ return Task.CompletedTask;
+ }
+
+ List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
+ foreach (var item in stationMangers)
+ {
+ bool isCanPut = device.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanPut, item.StationCode);
+ bool isCanTake = device.GetValue<GroundStationDBName, bool>(GroundStationDBName.R_IsCanTake, item.StationCode);
+ bool putRequest = device.GetValue<GroundStationDBName, bool>(GroundStationDBName.W_PutRequest, item.StationCode);
+ bool putFinish = device.GetValue<GroundStationDBName, bool>(GroundStationDBName.W_PutFinish, item.StationCode);
+ bool takeRequest = device.GetValue<GroundStationDBName, bool>(GroundStationDBName.W_TakeRequest, item.StationCode);
+ bool takeFinish = device.GetValue<GroundStationDBName, bool>(GroundStationDBName.W_TakeFinish, item.StationCode);
+
+ if (item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt())
+ {
+ Dt_Task task = _taskRepository.QueryFirst(x => x.DeviceCode == item.StackerCraneCode && x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.NextAddress));
+ if (task != null && isCanPut && !isCanTake && !putRequest && !putFinish && !takeRequest && !takeFinish)
+ {
+ string oldAddress = task.NextAddress;
+ int oldStatus = task.TaskState;
+ task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
+ task.NextAddress = item.StationCode;
+ _taskRepository.UpdateData(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"绯荤粺鑷姩娴佺▼,鐩爣鍦板潃鐢眥oldAddress}鍙樻洿涓簕task.NextAddress},浠诲姟鐘舵�佺敱{oldStatus}鍙樻洿涓簕task.TaskState}");
+ }
+ }
+ else if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt())
+ {
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TargetAddress == item.StackerCraneCode && x.TaskState == TaskStatusEnum.New.ObjToInt() && string.IsNullOrEmpty(x.NextAddress));
+ if (task != null && isCanPut && !isCanTake && !putRequest && !putFinish && !takeRequest && !takeFinish)
+ {
+ string oldAddress = task.NextAddress;
+ int oldStatus = task.TaskState;
+ task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt();
+ task.NextAddress = item.StationCode;
+ _taskRepository.UpdateData(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"绯荤粺鑷姩娴佺▼,鐩爣鍦板潃鐢眥oldAddress}鍙樻洿涓簕task.NextAddress},浠诲姟鐘舵�佺敱{oldStatus}鍙樻洿涓簕task.TaskState}");
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ WriteError(device.DeviceName, "", ex);
+ }
+ return Task.CompletedTask;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs"
index b66585d..c96fb0f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\265\213\350\257\225\346\236\266\344\273\223/StackerCraneJob_CSJ.cs"
@@ -7,7 +7,9 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common.TaskEnum;
+using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Enums;
+using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_ITaskInfoRepository;
using WIDESEAWCS_ITaskInfoService;
@@ -19,7 +21,6 @@
using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
using WIDESEAWCS_Tasks.HoisterJob;
using WIDESEAWCS_Tasks.StackerCraneJob;
-using WIDESEAWCS_Tasks.闃荤剨浠�;
namespace WIDESEAWCS_Tasks
{
@@ -69,7 +70,10 @@
if (sendFlag)
{
commonStackerCrane.LastTaskType = task.TaskType;
- // _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ int oldState = task.TaskState;
+ task.TaskState = TaskStatusEnum.SC_Executing.ObjToInt();
+ _taskRepository.UpdateData(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�");
}
}
}
@@ -97,9 +101,48 @@
if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
{
Console.Out.WriteLine("TaskCompleted" + e.TaskNum);
- // _taskService.StackCraneTaskCompleted(e.TaskNum);
+ StackerCraneTaskCompleted(e.TaskNum, commonStackerCrane.DeviceName);
commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
}
+ }
+ }
+
+ public WebResponseContent StackerCraneTaskCompleted(int taskNum, string deviceName)
+ {
+ try
+ {
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
+ if (task != null)
+ {
+ if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ {
+ int oldStatus = task.TaskState;
+ task.DeviceCode = "AGV";
+ task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt();
+ task.CurrentAddress = task.NextAddress;
+ task.NextAddress = task.TargetAddress;
+ _taskRepository.UpdateData(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"绯荤粺鑷姩娴佺▼,锛屼换鍔$姸鎬佷粠銆恵oldStatus}銆戣浆鍒般�恵task.TaskState}銆�");
+ }
+ else if (task.TaskType.GetTaskTypeGroup() != TaskTypeGroup.InboundGroup)
+ {
+ _taskExecuteDetailService.AddTaskExecuteDetail(taskNum, $"绯荤粺鑷姩娴佺▼,锛屼换鍔″畬鎴�");
+ _taskRepository.DeleteAndMoveIntoHty(task, OperateTypeEnum.鑷姩瀹屾垚);
+ HttpHelper.Post("", "");//todo 璋冪敤WMS浠诲姟瀹屾垚鏂规硶
+ }
+ }
+ else
+ {
+ WriteInfo(deviceName, $"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+ return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�,浠诲姟鍙�:{taskNum}");
+ }
+
+ return WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ WriteError(deviceName, $"浠诲姟瀹屾垚閿欒", ex);
+ return WebResponseContent.Instance.Error(ex.Message);
}
}
@@ -156,6 +199,11 @@
}
}
+ if(task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+ {
+ HttpHelper.Post("", "");
+ }
+
return task;
}
@@ -166,7 +214,7 @@
/// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
{
- Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.Roadway);
+ Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress && x.StackerCraneCode == task.DeviceCode);
if (stationManger != null)
{
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
@@ -177,6 +225,7 @@
{
task.TargetAddress = stationManger.StackerCraneStationCode;
_taskRepository.UpdateData(task);
+ client.SetValue(GroundStationDBName.R_IsCanPut, true, stationManger.StationCode);
return task;
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/StackerCraneJob_ZH.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/StackerCraneJob_ZH.cs"
index dd8c979..0ee91a9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/StackerCraneJob_ZH.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\351\230\273\347\204\212\344\273\223/StackerCraneJob_ZH.cs"
@@ -166,7 +166,7 @@
/// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
{
- Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.Roadway);
+ Dt_StationManger? stationManger = _stationMangerRepository.QueryFirst(x => x.StationCode == task.TargetAddress && x.StackerCraneCode == task.DeviceCode);
if (stationManger != null)
{
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/warehouse.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/warehouse.js"
index 151c927..7840edd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/warehouse.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/warehouse.js"
@@ -20,7 +20,15 @@
let enableBtn = this.buttons.find(x => x.value == 'Enable');
if (enableBtn) {
enableBtn.onClick = function () {
- this.$message.success('鑷畾涔夋寜閽偣鍑讳簨浠�');
+ //this.$message.success('鑷畾涔夋寜閽偣鍑讳簨浠�');
+ var printSection = document.querySelector('.vol-table');
+ var printWindow = window.open('', '');
+ printWindow.document.write(printSection.innerHTML);
+ printWindow.document.close();
+ printWindow.focus();
+ printWindow.print();
+ printWindow.close();
+
}
}
let disableBtn = this.buttons.find(x => x.value == 'Disable');
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7ab5e54f-e15f-4070-8b63-2b0d6e70b364.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7ab5e54f-e15f-4070-8b63-2b0d6e70b364.vsidx"
new file mode 100644
index 0000000..b3fbf09
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/7ab5e54f-e15f-4070-8b63-2b0d6e70b364.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c6122441-2f23-4566-894d-2438c126bfa0.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c6122441-2f23-4566-894d-2438c126bfa0.vsidx"
new file mode 100644
index 0000000..70aef67
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/c6122441-2f23-4566-894d-2438c126bfa0.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e8a69a95-d256-4664-a68b-3579d7c901f3.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e8a69a95-d256-4664-a68b-3579d7c901f3.vsidx"
new file mode 100644
index 0000000..f165ae6
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e8a69a95-d256-4664-a68b-3579d7c901f3.vsidx"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
deleted file mode 100644
index e69de29..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock"
+++ /dev/null
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CSJ.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CSJ.cs"
index 31aed3f..3533316 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CSJ.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CSJ.cs"
@@ -150,6 +150,28 @@
return null;
}
+ private bool LittleDepthLocationIsEmpty_CSJ(Dt_LocationInfo locationInfo, PalletTypeEnum palletType)
+ {
+ List<Dt_LocationInfo> locations = GetGroupLocations(locationInfo);
+
+ switch (palletType)
+ {
+ case PalletTypeEnum.LargestPallet:
+ case PalletTypeEnum.LargePallet:
+ {
+ List<Dt_LocationInfo> littleDepth = locations.Where(x => x.Depth <= locationInfo.Depth).ToList();
+ return littleDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.Free.ObjToInt() && x.EnableStatus != EnableStatusEnum.OnlyIn.ObjToInt() && x.EnableStatus != EnableStatusEnum.Normal.ObjToInt()) == null; //鏌ヨ灏忎簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓虹┖锛屼笖绂佺敤鐘舵�佷笉涓虹鐢ㄤ互鍙婂彧鍏ョ殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娴呰揣浣嶈浣跨敤鎴栬�呰绂佺敤鐨勬儏鍐�
+ }
+ case PalletTypeEnum.MediumPallet:
+ case PalletTypeEnum.SmallPallet:
+ {
+ List<Dt_LocationInfo> littleDepth = locations.Where(x => x.Depth <= locationInfo.Depth).ToList();
+ return littleDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.Free.ObjToInt() && x.EnableStatus != EnableStatusEnum.OnlyIn.ObjToInt() && x.EnableStatus != EnableStatusEnum.Normal.ObjToInt()) == null; //鏌ヨ灏忎簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓虹┖锛屼笖绂佺敤鐘舵�佷笉涓虹鐢ㄤ互鍙婂彧鍏ョ殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娴呰揣浣嶈浣跨敤鎴栬�呰绂佺敤鐨勬儏鍐�
+ }
+ }
+ return false;
+ }
+
/// <summary>
/// 鍒ゆ柇涓嶅悓娣卞害鐨勫悓缁勮揣浣嶇姸鎬佹槸鍚︿负绌洪棽绌轰綅(娴嬭瘯鏋朵粨)
/// </summary>
@@ -184,7 +206,7 @@
List<Dt_LocationInfo> littleDepth = locations.Where(x => x.Depth <= emptyLocation.Depth).ToList();
littleDepthFlag = littleDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.Free.ObjToInt() && x.EnableStatus != EnableStatusEnum.OnlyIn.ObjToInt() && x.EnableStatus != EnableStatusEnum.Normal.ObjToInt()) == null; //鏌ヨ灏忎簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓虹┖锛屼笖绂佺敤鐘舵�佷笉涓虹鐢ㄤ互鍙婂彧鍏ョ殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娴呰揣浣嶈浣跨敤鎴栬�呰绂佺敤鐨勬儏鍐�
}
-
+
break;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
index bd6834c..146b0b7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
@@ -45,6 +45,28 @@
};
}
+ public bool LittleDepthLocationIsEmpty(Dt_LocationInfo locationInfo, PalletTypeEnum palletType)
+ {
+ Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == locationInfo.WarehouseId);
+ if (warehouse == null)
+ {
+ throw new Exception($"鏈壘鍒颁粨搴撲俊鎭�");
+ }
+
+ return warehouse.WarehouseName switch
+ {
+ "鏉挎潗浠�" => false,
+ "PP浠�" => false,
+ "骞茶啘浠�" => false,
+ "娴嬭瘯鏋朵粨" => LittleDepthLocationIsEmpty_CSJ(locationInfo, palletType),
+ "闃荤剨浠�" => false,
+ "娌瑰ⅷ浠�" => true,
+ "鎴愬搧浠�" => true,
+ "杈呮枡浠�" => true,
+ _ => throw new Exception($"鏈壘鍒颁粨搴撹揣浣嶅垎閰嶆柟娉�")
+ };
+ }
+
private readonly static object _locker = new object();
private static List<LocationCache> locationCaches = new List<LocationCache>();
/// <summary>
@@ -146,7 +168,7 @@
/// <param name="locationInfos"></param>
/// <param name="location"></param>
/// <returns></returns>
- private List<Dt_LocationInfo> GetGroupLocations(List<Dt_LocationInfo> locationInfos, Dt_LocationInfo location)
+ public List<Dt_LocationInfo> GetGroupLocations(List<Dt_LocationInfo> locationInfos, Dt_LocationInfo location)
{
List<Dt_LocationInfo> groupLocations = new List<Dt_LocationInfo>() { location };
int maxDepth = locationInfos.Max(x => x.Depth);
@@ -169,6 +191,37 @@
}
return groupLocations;
}
+
+ /// <summary>
+ /// 鑾峰彇涓嶅悓娣卞害鐨勫悓缁勮揣浣嶄俊鎭�
+ /// </summary>
+ /// <param name="location"></param>
+ /// <returns></returns>
+ public List<Dt_LocationInfo> GetGroupLocations(Dt_LocationInfo location)
+ {
+ List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == location.RoadwayNo && x.WarehouseId == location.WarehouseId);
+
+ List<Dt_LocationInfo> groupLocations = new List<Dt_LocationInfo>() { location };
+ int maxDepth = locationInfos.Max(x => x.Depth);
+ for (int j = location.Depth + 1; j <= maxDepth; j++)
+ {
+ Dt_LocationInfo? locationInfo = locationInfos.FirstOrDefault(x => x.Depth == j && x.Column == location.Column && x.Layer == location.Layer);
+ if (locationInfo != null)
+ {
+ groupLocations.Add(locationInfo);
+ }
+ }
+
+ for (int j = location.Depth - 1; j >= 1; j--)
+ {
+ Dt_LocationInfo? locationInfo = locationInfos.FirstOrDefault(x => x.Depth == j && x.Column == location.Column && x.Layer == location.Layer);
+ if (locationInfo != null)
+ {
+ groupLocations.Add(locationInfo);
+ }
+ }
+ return groupLocations;
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
index 19d60dc..fed318a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
@@ -923,8 +923,8 @@
{
object? obj2 = Activator.CreateInstance(htyType);
PropertyInfo keyPro = typeof(TEntity).GetKeyProperty();
- PropertyInfo? operateTypePro = htyType.GetProperty(nameof(OperateTypeEnum));
- PropertyInfo? sourceIdPro = htyType.GetProperty("SourceId");
+ PropertyInfo? operateTypePro = htyType.GetProperty(nameof(IBaseHistoryEntity.OperateType));
+ PropertyInfo? sourceIdPro = htyType.GetProperty(nameof(IBaseHistoryEntity.SourceId));
if (obj2 != null && keyPro != null && operateTypePro != null && sourceIdPro != null)
{
List<PropertyInfo> propertyInfos = htyType.GetProperties().Where(x => x.Name != operateTypePro.Name && x.Name != sourceIdPro.Name && x.Name != keyPro.Name).ToList();
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs"
index 84b63eb..6708cc4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Task/WMSTaskDTO.cs"
@@ -52,5 +52,6 @@
/// 浼樺厛绾�
/// </summary>
public int Grade { get; set; }
+
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
index 925ecf3..1e79cc9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
@@ -75,5 +75,20 @@
/// <param name="palletType">鎵樼洏绫诲瀷</param>
/// <param name="locationStatus">璐т綅鐘舵��</param>
void UpdateLocationStatus(Dt_LocationInfo location, PalletTypeEnum palletType, LocationStatusEnum locationStatus, int warehousId);
+
+ /// <summary>
+ /// 鑾峰彇涓嶅悓娣卞害鐨勫悓缁勮揣浣嶄俊鎭�
+ /// </summary>
+ /// <param name="location"></param>
+ /// <returns></returns>
+ List<Dt_LocationInfo> GetGroupLocations(Dt_LocationInfo location);
+
+ /// <summary>
+ /// 鍒ゆ柇娴呰揣浣嶆槸鍚﹁鍗犵敤
+ /// </summary>
+ /// <param name="locationInfo">璐т綅淇℃伅</param>
+ /// <param name="palletType">鎵樼洏绫诲瀷</param>
+ /// <returns></returns>
+ bool LittleDepthLocationIsEmpty(Dt_LocationInfo locationInfo, PalletTypeEnum palletType);
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index c2f6446..10cce98 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -93,11 +93,22 @@
/// <param name="taskNum">浠诲姟鍙�</param>
/// <returns></returns>
WebResponseContent OutboundTaskCompleted(int taskNum);
+<<<<<<< Updated upstream
/// <summary>
/// 娴嬭瘯鏋堕��搴�
/// </summary>
/// <param name="backModel"></param>
/// <returns></returns>
MesResponseContent TestReturnStock(TestToolBackModel backModel);
+=======
+
+ /// <summary>
+ /// 鍒ゆ柇鏄惁闇�瑕佺Щ搴�
+ /// </summary>
+ /// <param name="taskNum">浠诲姟鍙�</param>
+ /// <param name="locationCode">鍏ュ簱鎴栧嚭搴撶殑璐т綅鍙�</param>
+ /// <returns></returns>
+ WebResponseContent IsRelocation(int taskNum, string locationCode);
+>>>>>>> Stashed changes
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs"
new file mode 100644
index 0000000..e0ae17a
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs"
@@ -0,0 +1,100 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Common.CommonEnum;
+using WIDESEA_Common.LocationEnum;
+using WIDESEA_Common.OtherEnum;
+using WIDESEA_Common.StockEnum;
+using WIDESEA_Common.TaskEnum;
+using WIDESEA_Core;
+using WIDESEA_Core.Helper;
+using WIDESEA_DTO.Task;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_TaskInfoService
+{
+ public partial class TaskService
+ {
+ public WebResponseContent IsRelocation(int taskNum, string locationCode)
+ {
+ try
+ {
+ Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == locationCode);
+ if (locationInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑璐т綅淇℃伅");
+ }
+ Dt_Task task = Repository.QueryFirst(x => x.TaskNum == taskNum);
+ if (task == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�");
+ }
+
+ if (!_basicService.LocationInfoService.LittleDepthLocationIsEmpty(locationInfo, (PalletTypeEnum)task.PalletType))
+ {
+ return WebResponseContent.Instance.OK(data: _mapper.Map<WMSTaskDTO>(task));
+ }
+ else
+ {
+ Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.LocationCode == locationCode);
+ if (stockInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板搴旇揣浣嶇殑搴撳瓨淇℃伅");
+ }
+
+ Dt_LocationInfo? newLocation = _basicService.LocationInfoService.AssignLocation(task.Roadway, (PalletTypeEnum)task.PalletType, task.WarehouseId);
+ if (newLocation != null)
+ {
+ Dt_Task newTask = new Dt_Task()
+ {
+ Roadway = task.Roadway,
+ WarehouseId = task.WarehouseId,
+ CurrentAddress = locationCode,
+ Grade = 99,
+ NextAddress = newLocation.LocationCode,
+ OrderNo = "",
+ PalletCode = stockInfo.PalletCode,
+ PalletType = stockInfo.PalletType,
+ SourceAddress = locationCode,
+ TargetAddress = newLocation.LocationCode,
+ TaskNum = Repository.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
+ TaskStatus = 0,
+ TaskType = 0
+ };
+
+ _unitOfWorkManage.BeginTran();
+ Repository.AddData(newTask);
+ {
+ LocationStatusEnum lastStatus = (LocationStatusEnum)newLocation.LocationStatus;
+ newLocation.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
+ _basicService.LocationInfoService.UpdateLocationStatus(newLocation, (PalletTypeEnum)task.PalletType, LocationStatusEnum.Lock, stockInfo.WarehouseId);
+ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus, LocationChangeType.RelocationAssignLocation, taskNum: newTask.TaskNum);
+ }
+ {
+ LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
+ locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
+ _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, (PalletTypeEnum)task.PalletType, LocationStatusEnum.Lock, stockInfo.WarehouseId);
+ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus, LocationChangeType.RelocationAssignLocation, taskNum: newTask.TaskNum);
+ }
+ stockInfo.StockStatus = StockStatusEmun.绉诲簱閿佸畾.ObjToInt();
+ _stockRepository.StockInfoRepository.UpdateData(stockInfo);
+
+ _unitOfWorkManage.RollbackTran();
+
+ return WebResponseContent.Instance.OK(data: _mapper.Map<WMSTaskDTO>(newTask));
+ }
+ else
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒板彲鍒嗛厤璐т綅,璇锋煡鐪嬭宸烽亾銆恵task.Roadway}銆戞槸鍚﹁繕鏈夌┖闂插彲浣跨敤璐т綅");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index e4e773a..67ca56d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -100,5 +100,11 @@
{
return Service.OutboundTaskCompleted(taskNum);
}
+
+ [HttpPost, HttpGet, Route("IsRelocation"), AllowAnonymous]
+ public WebResponseContent IsRelocation(int taskNum, string locationCode)
+ {
+ return Service.IsRelocation(taskNum, locationCode);
+ }
}
}
--
Gitblit v1.9.3