From 7859c33c5b86f51dcdf9ad17c1c511bfe3511ae3 Mon Sep 17 00:00:00 2001
From: 陈勇 <chenyong@hnkhzn.com>
Date: 星期二, 19 十一月 2024 09:02:15 +0800
Subject: [PATCH] 忽略项
---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 180 ++++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 126 insertions(+), 54 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 1cdc30a..830c4ce 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -22,6 +22,7 @@
using Newtonsoft.Json;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
+using System.Threading.Tasks;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
@@ -131,47 +132,55 @@
WebResponseContent content = new WebResponseContent();
try
{
- #region 鐪熷疄鏁版嵁
-
+ #region 璇锋眰鍏ュ簱浠诲姟宸烽亾
+ // TODO: 璋冪敤鎺ュ彛鑾峰彇涓嬩竴涓湴鍧�
// 鍒涘缓璇锋眰瀵硅薄
- //RequestTaskDto request = new RequestTaskDto()
- //{
- // Position = sourceAddress,
- // PalletCode = palletCode,
- //};
-
- //// 鍙戦�佽姹傚苟绛夊緟鍝嶅簲
- //var result = HttpHelper.PostAsync("http:127.0.0.1:8098/api/Task/RequestTaskAsync", request.ToJsonString()).Result;
-
- //// 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
- //content = JsonConvert.DeserializeObject<WebResponseContent>(result);
-
- //// 妫�鏌ョ姸鎬佸苟杩斿洖
- //if (!content.Status)
- // return content;
-
- //// 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
- //WMSTaskDTO task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
-
- //// 澶勭悊浠诲姟骞惰繑鍥炵粨鏋�
- //content = ReceiveWMSTask(new List<WMSTaskDTO> { task });
-
- #endregion
-
- WMSTaskDTO taskDTO = new WMSTaskDTO()
+ RequestTaskDto request = new RequestTaskDto()
{
- TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
- Grade = 1,
+ Position = sourceAddress,
PalletCode = palletCode,
- RoadWay = "CHSC01",
- SourceAddress = sourceAddress,
- TargetAddress = "CHSC01",
- TaskState = (int)TaskInStatusEnum.InNew,
- Id = 0,
- TaskType = (int)TaskInboundTypeEnum.Inbound
};
- content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
+ // 鍙戦�佽姹傚苟绛夊緟鍝嶅簲
+ var result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestTaskAsync", request.ToJsonString()).Result;
+
+ // 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
+ content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+
+ WMSTaskDTO task = new WMSTaskDTO();
+ // 妫�鏌ョ姸鎬佸苟杩斿洖
+ if (!content.Status)
+ {
+ task = new WMSTaskDTO()
+ {
+ TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
+ Grade = 1,
+ PalletCode = palletCode,
+ RoadWay = "CHSC01",
+ SourceAddress = sourceAddress,
+ TargetAddress = "1020",
+ TaskState = (int)TaskOutStatusEnum.Line_OutExecuting,
+ Id = 0,
+ TaskType = (int)TaskOutboundTypeEnum.Outbound
+ };
+
+ Dt_Task task1 = _mapper.Map<Dt_Task>(task);
+ task1.CurrentAddress = task.SourceAddress;
+ task1.NextAddress = "1020";
+ BaseDal.AddData(task1);
+ return content.OK();
+ }
+ else
+ {
+ // 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
+ task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+ // 澶勭悊浠诲姟骞惰繑鍥炵粨鏋�
+ content = ReceiveWMSTask(new List<WMSTaskDTO> { task });
+ }
+
+
+
+ #endregion
}
catch (Exception ex)
{
@@ -189,6 +198,28 @@
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);
+ }
+
+ /// <summary>
+ /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
+ /// </summary>
+ /// <param name="deviceNo">璁惧缂栧彿</param>
+ /// <param name="currentAddress">褰撳墠鍦板潃</param>
+ /// <returns></returns>
+ public Dt_Task QueryNextConveyorLineTask(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.NextAddress == currentAddress, TaskOrderBy);
+ }
+
+ /// <summary>
+ /// 鏍规嵁鎵樼洏鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
+ /// </summary>
+ /// <param name="Barcode">鎵樼洏鍙�</param>
+ /// <param name="currentAddress">褰撳墠鍦板潃</param>
+ /// <returns></returns>
+ public Dt_Task QueryBarCodeConveyorLineTask(string Barcode, 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 && x.PalletCode == Barcode, TaskOrderBy);
}
/// <summary>
@@ -397,10 +428,35 @@
if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish)
{
- Random random = new Random();
+
+ #region 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
+ // TODO: 璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
+ // 鍒涘缓璇锋眰瀵硅薄
+ RequestTaskDto taskDto = new RequestTaskDto()
+ {
+ Position = task.NextAddress,
+ PalletCode = task.PalletCode,
+ };
+
+ // 鍙戦�佽姹傚苟绛夊緟鍝嶅簲
+ var abc = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestLocationTaskAsync", taskDto.ToJsonString()).Result;
+ if (abc == null)
+ return content.Error();
+ // 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
+ content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
+
+ // 妫�鏌ョ姸鎬佸苟杩斿洖
+ if (!content.Status)
+ return content;
+
+ // 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
+ WMSTaskDTO taskResult = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+
task.CurrentAddress = task.NextAddress;
- task.NextAddress = $"{random.Next(1, 1).ToString().PadLeft(3, '0')}-{random.Next(1, 1).ToString().PadLeft(3, '0')}-{random.Next(1, 1).ToString().PadLeft(3, '0')}";
+ task.NextAddress = taskResult.TargetAddress;
task.TargetAddress = task.NextAddress;
+ #endregion
+
}
}
else
@@ -418,6 +474,16 @@
BaseDal.UpdateData(task);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"浜哄伐鎵嬪姩灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戣烦杞埌銆恵task.TaskState}銆�" : $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�");
+
+ #region 鏇存柊浠诲姟鐘舵��
+ object request = new
+ {
+ TaskNum = task.TaskNum,
+ TaskState = task.TaskState
+ };
+ var result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/UpdateTaskStatus", request.ToJsonString()).Result;
+ content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+ #endregion
content = WebResponseContent.Instance.OK();
}
@@ -490,13 +556,13 @@
BaseDal.UpdateData(task);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
- //todo 鍚屾鍒癢MS
+
//鏆備笉鑰冭檻澶氫釜鍑哄簱鍙�
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
{
- //todo
+ //todo 鍚屾鍒癢MS
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
task.TaskState = nextStatus;
task.ModifyDate = DateTime.Now;
@@ -504,20 +570,7 @@
BaseDal.UpdateData(task);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�");
- WMSTaskDTO taskDTO = new WMSTaskDTO()
- {
- 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 });
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
{
@@ -530,7 +583,26 @@
{
throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
}
- content = WebResponseContent.Instance.OK();
+
+
+ #region WMS鍚屾浠诲姟瀹屾垚
+ var keys = new Dictionary<string, object>()
+ {
+ {"taskNum", taskNum}
+ };
+ var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync", keys).Result;
+ content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+ #endregion
+ #region 鏇存柊浠诲姟鐘舵��
+ object request = new
+ {
+ TaskNum = task.TaskNum,
+ TaskState = task.TaskState
+ };
+ result = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/UpdateTaskStatus", request.ToJsonString()).Result;
+ content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+ #endregion
+ //content = WebResponseContent.Instance.OK();
}
catch (Exception ex)
{
--
Gitblit v1.9.3