From 0bfe24ddf438636aeef8c1e6989d5c8c28b0bb1a Mon Sep 17 00:00:00 2001
From: Huangxiaoqiang-03 <1247017146@qq.com>
Date: 星期四, 31 十月 2024 16:56:13 +0800
Subject: [PATCH] 1
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 68 ++++++---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs | 6
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskRelocationStatusEnum.cs | 19 ++
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelpers.cs | 2
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json | 3
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 269 +++++++++++++++++++++----------------
7 files changed, 221 insertions(+), 148 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelper.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelpers.cs"
similarity index 99%
rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelper.cs"
rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelpers.cs"
index 03a4e4b..5380000 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelper.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelpers.cs"
@@ -6,7 +6,7 @@
namespace WIDESEA_Comm.Http
{
- public class HttpHelper
+ public class HttpHelpers
{
private const int Timeout = 10 * 1000;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskRelocationStatusEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskRelocationStatusEnum.cs"
index 48537e2..51f0df3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskRelocationStatusEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/TaskRelocationStatusEnum.cs"
@@ -12,17 +12,26 @@
/// <summary>
/// 鏂板缓绉诲簱浠诲姟
/// </summary>
+ [Description("鏂板缓绉诲簱浠诲姟")]
RelocationNew = 300,
- /// <summary>
- /// 绉诲簱浠诲姟鎵ц涓�
- /// </summary>
- SC_RelocationExecuting = 140,
+ /// <summary>
+ /// 绉诲簱浠诲姟鎵ц涓�
+ /// </summary>
+ [Description("绉诲簱浠诲姟鎵ц涓�")]
+ RelocationExecuting = 145,
/// <summary>
/// 绉诲簱浠诲姟瀹屾垚
/// </summary>
- SC_RelocationFinish = 145,
+ [Description("绉诲簱浠诲姟鍙栨秷")]
+ RelocationFinish = 310,
+
+ /// <summary>
+ /// 绉诲簱浠诲姟鍙栨秷
+ /// </summary>
+ [Description("绉诲簱浠诲姟鍙栨秷")]
+ RelocationCancel = 320,
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
index c21a4d9..d7b001a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json"
@@ -21,6 +21,9 @@
// 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑
"IPs": "http://127.0.0.1:8080,http://localhost:8080"
},
+
+ "WMS": "http://localhost:9290/api/Task/",
+
"ApiName": "WIDESEA",
"ExpMinutes": 120,
"QuartzJobAutoStart": true
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 53520fe..3e8bb34 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"
@@ -26,8 +26,10 @@
using System.Linq;
using System.Reflection;
using System.Reflection.Emit;
+using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Comm.Http;
using WIDESEA_Common.Log;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
@@ -40,6 +42,7 @@
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Service;
+using WIDESEAWCS_Core.Helper;
namespace WIDESEAWCS_TaskInfoService
{
@@ -73,7 +76,7 @@
_task_HtyService = task_HtyService;
_task_HtyRepository = task_HtyRepository;
}
-
+ public string url = AppSettings.Configuration["WMS"];
/// <summary>
/// 鎺ユ敹WMS浠诲姟淇℃伅
/// </summary>
@@ -93,28 +96,6 @@
}
Dt_Task task = _mapper.Map<Dt_Task>(item);
task.Creater = "WMS";
- 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;
- task.CurrentAddress = item.SourceAddress;
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
- }
- }
- 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;
- task.CurrentAddress = item.SourceAddress;
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
- }
- }
tasks.Add(task);
}
BaseDal.AddData(tasks);
@@ -149,9 +130,9 @@
RoadWay = "SC01",
SourceAddress = sourceAddress,
TargetAddress = "SC01",
- TaskState = (int)TaskInStatusEnum.InNew,
+ TaskState = TaskInStatusEnum.InNew.ObjToInt(),
Id = 0,
- TaskType = (int)TaskInboundTypeEnum.Inbound
+ TaskType = TaskInboundTypeEnum.Inbound.ObjToInt()
};
content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
@@ -171,7 +152,7 @@
/// <returns></returns>
public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress)
{
- return BaseDal.QueryFirst(x => (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) && x.CurrentAddress == currentAddress, TaskOrderBy);
+ return BaseDal.QueryFirst(x => (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.SC_OutFinish.ObjToInt()) && x.CurrentAddress == currentAddress, TaskOrderBy);
}
/// <summary>
@@ -182,7 +163,7 @@
/// <returns></returns>
public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress)
{
- return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == TaskInStatusEnum.Line_InExecuting.ObjToInt() || x.TaskState == TaskOutStatusEnum.Line_OutExecuting.ObjToInt()), TaskOrderBy);
}
/// <summary>
@@ -193,7 +174,7 @@
/// <returns></returns>
public Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress)
{
- return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InFinish || x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskState == TaskInStatusEnum.Line_InFinish.ObjToInt() || x.TaskState == TaskOutStatusEnum.Line_OutFinish.ObjToInt()), TaskOrderBy);
}
/// <summary>
@@ -205,11 +186,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.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.Line_InFinish.ObjToInt() || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt()), TaskOrderBy);
if(taskTypeGroup.Value == TaskTypeGroup.InboundGroup)
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.Line_InFinish.ObjToInt(), TaskOrderBy);
if(taskTypeGroup.Value == TaskTypeGroup.OutbondGroup)
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
return null;
}
@@ -229,9 +210,9 @@
else
{
if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt()), TaskOrderBy);
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt()), TaskOrderBy);
}
}
@@ -250,10 +231,29 @@
}
else
{
- if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew, TaskOrderBy);
+ Dt_Task task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+ Dt_Task tasks = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+ if (task != null && tasks == null)
+ {
+ if (string.IsNullOrEmpty(currentAddress))
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+ else
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+ }
+ else if (task == null && tasks != null)
+ {
+ if (string.IsNullOrEmpty(currentAddress))
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+ else
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+ }
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew && x.CurrentAddress == currentAddress, TaskOrderBy);
+ {
+ if (string.IsNullOrEmpty(currentAddress))
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
+ else
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
+ }
}
}
/// <summary>
@@ -265,9 +265,9 @@
public Dt_Task QueryStackerCraneRelocationTask(string deviceNo, string currentAddress = "")
{
if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew && x.CurrentAddress == currentAddress, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
}
/// <summary>
@@ -285,28 +285,28 @@
}
else
{
- Dt_Task task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
- Dt_Task tasks = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew, TaskOrderBy);
+ Dt_Task task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
+ Dt_Task tasks = BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
if (task != null && tasks == null)
{
if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt(), TaskOrderBy);
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
}
else if (task == null && tasks != null)
{
if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew && x.CurrentAddress == currentAddress, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
}
else
{
if (string.IsNullOrEmpty(currentAddress))
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt(), TaskOrderBy);
else
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew && x.CurrentAddress == currentAddress, TaskOrderBy);
+ return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == TaskInStatusEnum.InNew.ObjToInt() && x.CurrentAddress == currentAddress, TaskOrderBy);
}
}
@@ -327,7 +327,7 @@
}
else
{
- return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.TargetAddress == outStationCodes, TaskOrderBy);
+ return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == TaskOutStatusEnum.OutNew.ObjToInt() && x.TargetAddress == outStationCodes, TaskOrderBy);
}
}
@@ -413,32 +413,15 @@
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;
+ task.TaskState = TaskOutStatusEnum.SC_OutExecuting.ObjToInt();
}
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;
-
- if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish)
- {
- Random random = new Random();
- task.CurrentAddress = task.NextAddress;
- task.NextAddress = $"{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}-{random.Next(1, 100).ToString().PadLeft(3, '0')}";
- task.TargetAddress = task.NextAddress;
- }
+ task.TaskState = TaskInStatusEnum.SC_InExecuting.ObjToInt();
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+ {
+ task.TaskState = TaskRelocationStatusEnum.RelocationExecuting.ObjToInt();
}
else
{
@@ -513,56 +496,59 @@
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.SC_OutExecuting)
+ if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == TaskOutStatusEnum.SC_OutExecuting.ObjToInt())
{
- List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
- if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
-
- int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
- task.TaskState = nextStatus;
- task.CurrentAddress = task.NextAddress;
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
+ task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt();
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
- BaseDal.UpdateData(task);
-
+ BaseDal.DeleteData(task);
+ _task_HtyService.AddTaskHty(task);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
- //todo 鍚屾鍒癢MS
-
- //鏆備笉鑰冭檻澶氫釜鍑哄簱鍙�
+ var response = HttpHelpers.Post<WebResponseContent>(url + "TaskComplete?", task.TaskNum, "浠诲姟瀹屾垚");
+ if (response.Status)
+ {
+ return content.OK();
+ }
+ else
+ {
+ content = WebResponseContent.Instance.Error(response.Message);
+ }
}
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState ==TaskInStatusEnum.SC_InExecuting.ObjToInt())
{
- //todo
- int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
- task.TaskState = nextStatus;
+ task.TaskState = TaskInStatusEnum.InFinish.ObjToInt();
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
- BaseDal.UpdateData(task);
+ BaseDal.DeleteData(task);
+ _task_HtyService.AddTaskHty(task);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�");
-
- WMSTaskDTO taskDTO = new WMSTaskDTO()
+ var response = HttpHelpers.Post<WebResponseContent>(url + "TaskComplete?", task.TaskNum, "浠诲姟瀹屾垚");
+ if (response.Status)
{
- TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
- Grade = 1,
- PalletCode = task.PalletCode + "S",
- RoadWay = "SC01",
- SourceAddress = task.TargetAddress,
- TargetAddress = "CLOutAreaA",
- TaskState = (int)TaskOutStatusEnum.OutNew,
- Id = 0,
- TaskType = (int)TaskOutboundTypeEnum.Outbound
- };
-
- content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
+ return content.OK();
+ }
+ else
+ {
+ content = WebResponseContent.Instance.Error(response.Message);
+ }
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
{
- //todo 璋冪敤WMS绉诲簱瀹屾垚
- }
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
- {
-
+ task.TaskState = TaskRelocationStatusEnum.RelocationFinish.ObjToInt();
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+ BaseDal.DeleteData(task);
+ _task_HtyService.AddTaskHty(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ搴撳畬鎴�");
+ var response = HttpHelpers.Post<WebResponseContent>(url + "TaskComplete?", task.TaskNum, "浠诲姟瀹屾垚");
+ if (response.Status)
+ {
+ return content.OK();
+ }
+ else
+ {
+ content = WebResponseContent.Instance.Error(response.Message);
+ }
}
else
{
@@ -572,7 +558,11 @@
}
catch (Exception ex)
{
- content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�");
+ content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�,寮傚父淇℃伅锛歿ex.Message}");
+ }
+ finally
+ {
+ WriteLog.GetLog("瀹屾垚浠诲姟").Write(JsonConvert.SerializeObject(content), "瀹屾垚浠诲姟");
}
return content;
}
@@ -581,22 +571,69 @@
WebResponseContent content = new WebResponseContent();
try
{
- Dt_Task task = BaseDal.QueryData(x => x.TaskNum == taskNum).FirstOrDefault();
- if (task != null)
+ 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 != TaskOutStatusEnum.SC_OutExecuting.ObjToInt())
{
- if (task.TaskState != (int)TaskOutStatusEnum.SC_OutExecuting || task.TaskState != (int)TaskInStatusEnum.SC_InExecuting || task.TaskState != (int)TaskRelocationStatusEnum.SC_RelocationFinish)
+ task.TaskState = TaskOutStatusEnum.OutCancel.ObjToInt();
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+ BaseDal.DeleteData(task);
+ _task_HtyService.AddTaskHty(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳彇娑�");
+ var response = HttpHelpers.Post<WebResponseContent>(url + "TaskComplete?", task.TaskNum, "浠诲姟瀹屾垚");
+ if (response.Status)
{
- task.TaskState = 501;
- task.Modifier = "WMS";
- BaseDal.DeleteData(task);
- _task_HtyService.AddTaskHty(task);
return content.OK();
+ }
+ else
+ {
+ content = WebResponseContent.Instance.Error(response.Message);
+ }
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState != TaskInStatusEnum.SC_InExecuting.ObjToInt())
+ {
+ task.TaskState = TaskInStatusEnum.InCancel.ObjToInt();
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+ BaseDal.DeleteData(task);
+ _task_HtyService.AddTaskHty(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳彇娑�");
+ var response = HttpHelpers.Post<WebResponseContent>(url + "TaskComplete?", task.TaskNum, "浠诲姟瀹屾垚");
+ if (response.Status)
+ {
+ return content.OK();
+ }
+ else
+ {
+ content = WebResponseContent.Instance.Error(response.Message);
+ }
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup && task.TaskState != TaskRelocationStatusEnum.RelocationExecuting.ObjToInt())
+ {
+ task.TaskState = TaskRelocationStatusEnum.RelocationCancel.ObjToInt();
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+ BaseDal.DeleteData(task);
+ _task_HtyService.AddTaskHty(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ搴撳彇娑�");
+ var response = HttpHelpers.Post<WebResponseContent>(url + "TaskComplete?", task.TaskNum, "浠诲姟瀹屾垚");
+ if (response.Status)
+ {
+ return content.OK();
+ }
+ else
+ {
+ content = WebResponseContent.Instance.Error(response.Message);
}
}
else
{
- return content.Error("鏈壘鍒癢CS浠诲姟");
+ throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
}
+ content = WebResponseContent.Instance.OK();
+
}
catch (Exception ex)
{
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 46b03de..1178b32 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"
@@ -46,7 +46,8 @@
{
if (getStackerObject.StackerCraneTaskCompletedValue(speStackerCrane) == StackerCraneTaskCompleted.WorkCompleted)
{
- Console.WriteLine(1);
+ _taskService.StackCraneTaskCompleted(speStackerCrane.CurrentTaskNum);
+ speStackerCrane.SetValue(StackerCraneDBName.WorkType, 2);
}
else
{
@@ -57,14 +58,31 @@
Dt_Task? task = GetTask(speStackerCrane);
if (task != null)
{
- StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
- if (stackerCraneTaskCommand != null)
+ if (task.TaskType == TaskTypeGroup.OutbondGroup.ObjToInt())
{
- bool sendFlag = speStackerCrane.SendCommand(stackerCraneTaskCommand);
- if (sendFlag)
+ //todo鍑哄簱鍒ゆ柇璐ф灦鐘舵��
+ StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
+ if (stackerCraneTaskCommand != null)
{
- speStackerCrane.LastTaskType = task.TaskType;
- _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ bool sendFlag = speStackerCrane.SendCommand(stackerCraneTaskCommand);
+ if (sendFlag)
+ {
+ speStackerCrane.LastTaskType = task.TaskType;
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ }
+ }
+ }
+ else
+ {
+ StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
+ if (stackerCraneTaskCommand != null)
+ {
+ bool sendFlag = speStackerCrane.SendCommand(stackerCraneTaskCommand);
+ if (sendFlag)
+ {
+ speStackerCrane.LastTaskType = task.TaskType;
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ }
}
}
}
@@ -195,9 +213,9 @@
string[] sourceCodes = task.SourceAddress.Split("-");
if (sourceCodes.Length == 3)
{
- stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
- stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
- stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+ stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+ stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
}
else
{
@@ -208,9 +226,9 @@
string[] targetCodes = task.TargetAddress.Split("-");
if (targetCodes.Length == 3)
{
- stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
- stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
- stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+ stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
}
else
{
@@ -232,9 +250,9 @@
string[] targetCodes = task.TargetAddress.Split("-");
if (targetCodes.Length == 3)
{
- stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
- stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
- stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+ stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
}
else
{
@@ -245,9 +263,9 @@
string[] sourceCodes = task.SourceAddress.Split("-");
if (sourceCodes.Length == 3)
{
- stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
- stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
- stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+ stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+ stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
}
else
{
@@ -269,9 +287,9 @@
string[] targetCodes = task.TargetAddress.Split("-");
if (targetCodes.Length == 3)
{
- stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]);
- stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
- stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[1]);
+ stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[2]);
+ stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[3]);
}
else
{
@@ -282,9 +300,9 @@
string[] sourceCodes = task.SourceAddress.Split("-");
if (sourceCodes.Length == 3)
{
- stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]);
- stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]);
- stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]);
+ stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[1]);
+ stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[2]);
+ stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[3]);
}
else
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs"
index 7614758..d6d0c2a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Enums/TaskEnum.cs"
@@ -165,6 +165,12 @@
/// </summary>
[Description("绉诲簱浠诲姟瀹屾垚")]
RelocationFinish = 310,
+
+ /// <summary>
+ /// 绉诲簱浠诲姟鍙栨秷
+ /// </summary>
+ [Description("绉诲簱浠诲姟鍙栨秷")]
+ RelocationCancel = 320,
}
#endregion 鍏ュ簱浠诲姟鐘舵��
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index ec45bd3..573566f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -531,7 +531,7 @@
_basicService.LocationInfoService.RelocationFree(locationStart, task.TaskNum);
_basicService.LocationInfoService.Repository.UpdateData(locationEnd);
- task.TaskStatus = InTaskStatusEnum.RelocationFinish.ObjToInt();
+ task.TaskStatus = InTaskStatusEnum.RelocationCancel.ObjToInt();
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚);
_unitOfWorkManage.CommitTran();
--
Gitblit v1.9.3