From d59b540dd78d49ddf1f2e1c6dfb7b19a7d3e3d7c Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期日, 19 一月 2025 11:19:24 +0800
Subject: [PATCH] 优化代码结构和错误处理
---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 112 insertions(+), 4 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
index a4a31d7..6e9638b 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
@@ -13,6 +13,9 @@
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.Models;
+using System.Drawing;
+using WIDESEAWCS_ITaskInfoService;
+using Mapster;
namespace WIDESEAWCS_TaskInfoService
{
@@ -93,21 +96,75 @@
var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, EquiCodeMOM = stationManager.stationEquipMOM, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode }.ToJsonString());
content = JsonConvert.DeserializeObject<WebResponseContent>(result);
-
+ ConsoleHelper.WriteErrorLine($"{stationManager.stationChildCode}绔欏彴璇锋眰鍝嶅簲淇℃伅:{content.ToJsonString()}");
if (!content.Status)
{
// wms澶辫触杩斿洖鍘籒G鍙d换鍔�
-
-
+ //if (stationManager.stationChildCode != stationManager.stationNGChildCode)
+ //{
+ // WMSTaskDTO taskDTO = new WMSTaskDTO()
+ // {
+ // Grade = 8,
+ // PalletCode = palletCode,
+ // SourceAddress = stationManager.stationLocation,
+ // TargetAddress = stationManager.stationNGLocation,
+ // RoadWay = stationManager.Roadway,
+ // TaskNum = 1000,
+ // TaskState = (int)TaskOutStatusEnum.OutNew,
+ // TaskType = (int)TaskOutboundTypeEnum.InToOut
+ // };
+ //}
return content;
}
var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+ ConsoleHelper.WriteSuccessLine(content.Data.ToString());
return ReceiveByWMSTask(task);
}
catch (Exception ex)
{
return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ public async Task<WebResponseContent> RequestOutTaskToBZAsync(Dt_StationManager stationManager)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestOutTaskToBZ)?.ConfigValue;
+ if (wmsBase == null || requestTask == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddrss = wmsBase + requestTask;
+
+ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = stationManager.stationChildCode }.ToJsonString());
+ content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+ if (!content.Status)
+ {
+ //鏃犳弧瓒虫潯浠跺彲鍑哄簱鑷冲寘瑁呯殑搴撳瓨
+ return content;
+ }
+
+ var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+ ConsoleHelper.WriteSuccessLine(content.Data.ToString());
+ //_taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO })鈥�
+ content = ReceiveWMSTask(new List<WMSTaskDTO> { task });
+ //content = ReceiveByBZOtuTask(task);
+ //if (content.Status)
+ //{
+ // //鐩稿簲鐨勫湪閫旀暟鎹�+1
+ // // _taskNeedBarcodeRepository.UpdateData();
+ //}
+ return content;
+ }
+ catch (Exception ex)
+ {
+
+ return content.Error(ex.Message);
}
}
@@ -146,6 +203,15 @@
task.NextAddress = stationinfo.stationChildCode;
task.TargetAddress = taskDTO.TargetAddress;
}
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+ {
+ task.TaskState = (int)TaskStatus.Created;
+ task.SourceAddress = taskDTO.SourceAddress;
+ task.CurrentAddress = taskDTO.SourceAddress;
+ task.NextAddress = taskDTO.TargetAddress;
+ task.TargetAddress = taskDTO.TargetAddress;
+ }
+
BaseDal.AddData(task);
_taskExecuteDetailService.AddTaskExecuteDetail(task.WMSId, "鎺ユ敹WMS浠诲姟");
@@ -158,6 +224,46 @@
}
return content;
}
+
+ /// <summary>
+ /// 鎺ユ敹WMS浠诲姟淇℃伅
+ /// </summary>
+ /// <param name="taskDTOs">WMS浠诲姟瀵硅薄闆嗗悎</param>
+ /// <returns>杩斿洖澶勭悊缁撴灉</returns>
+ public WebResponseContent ReceiveByBZOtuTask([NotNull] WMSTaskDTO taskDTO)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ if (BaseDal.QueryFirst(x => x.TaskNum == taskDTO.TaskNum || x.PalletCode == taskDTO.PalletCode) != null)
+ {
+ return content.OK();
+ }
+ Dt_Task task = _mapper.Map<Dt_Task>(taskDTO);
+ task.Creater = "WMS";
+
+ if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ {
+ var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationLocation == taskDTO.TargetAddress && x.Roadway == taskDTO.RoadWay);
+ task.TaskState = (int)TaskOutStatusEnum.OutNew;
+ task.CurrentAddress = stationinfo.stationChildCode;
+ task.NextAddress = stationinfo.stationChildCode;
+ task.SourceAddress = taskDTO.SourceAddress;
+ task.TargetAddress = taskDTO.TargetAddress;
+ }
+ BaseDal.AddData(task);
+
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.WMSId, "鎺ユ敹WMS浠诲姟");
+
+ content = WebResponseContent.Instance.OK("鎴愬姛");
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}");
+ }
+ return content;
+ }
+
/// <summary>
/// 楂樻俯鍑哄簱
@@ -236,7 +342,7 @@
}
/// <summary>
- /// 鏍规嵁鎵樼洏鍙峰拰璁惧鍙锋煡璇㈠叆搴撲换鍔�
+ /// 鏍规嵁鎵樼洏鍙峰拰璁惧鍙锋煡璇换鍔�
/// </summary>
/// <param name="taskNum">浠诲姟鍙�</param>
/// <param name="currentAddress">褰撳墠鍦板潃</param>
@@ -316,6 +422,8 @@
if (content.Status)
{
task.TaskState = 1; //浠诲姟瀹屾垚
+ var taskHty = task.Adapt<Dt_Task_Hty>();
+ _taskHtyRepository.AddData(taskHty);
BaseDal.DeleteData(task);
}
--
Gitblit v1.9.3