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_TaskInfoService/TaskService.cs | 269 ++++++++++++++++++++++++++++++-----------------------
1 files changed, 153 insertions(+), 116 deletions(-)
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)
{
--
Gitblit v1.9.3