From e483ac11616ffc9260d8f491fcc0d66f480b5443 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 16 四月 2026 10:12:52 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/LongTu/FangGangAGV
---
Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs | 98 +++++++++++++++++++++++--------------------------
1 files changed, 46 insertions(+), 52 deletions(-)
diff --git a/Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs
index f374b24..8cc3db1 100644
--- a/Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -3,6 +3,7 @@
using LogLibrary.Log;
using Mapster;
using Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Database;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
@@ -13,6 +14,7 @@
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_Core.LogHelper;
using WIDESEAWCS_DTO.MES;
@@ -25,6 +27,7 @@
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DeviceBase;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Repository;
using WIDESEAWCS_QuartzJob.Service;
@@ -83,33 +86,28 @@
}
/// <summary>
- /// 鎺ユ敹MES浠诲姟
+ /// 鎺ユ敹WMS浠诲姟
/// </summary>
/// <param name="taskDTOs"></param>
/// <returns></returns>
- public WebResponseContent ReceiveMESTask([NotNull] MESTaskDTO taskDTOs)
+ public WebResponseContent ReceiveWMSTask([NotNull] WMSTaskDTO taskDTOs)
{
WebResponseContent content = new WebResponseContent();
try
{
- if (BaseDal.QueryFirst(x => x.TaskNum == taskDTOs.taskId || x.PalletCode == taskDTOs.containerCode) != null)
+ if (BaseDal.QueryFirst(x => x.TaskNum == taskDTOs.TaskNum || x.PalletCode == taskDTOs.PalletCode) != null)
{
return content.Error("璇ヤ换鍔″凡瀛樺湪锛�");
}
Dt_Task task = _mapper.Map<Dt_Task>(taskDTOs);
- task.Creater = "MES";
+ task.Creater = "WMS";
// 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄嚭搴撲换鍔�
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
-
+
}
// 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
- {
-
- }
- // 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓虹Щ搴撲换鍔�
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
{
}
@@ -117,11 +115,11 @@
_taskExecuteDetailService.AddTaskExecuteDetailS(task.TaskNum, "鎺ユ敹WMS浠诲姟");
- content = WebResponseContent.Instance.OK("鎴愬姛");
+ content.OK("鎴愬姛");
}
catch (Exception ex)
{
- content = WebResponseContent.Instance.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}杩斿洖鏁版嵁琛寋ex.StackTrace}");
+ content.Error($"浠诲姟鎺ユ敹閿欒,閿欒淇℃伅:{ex.Message}杩斿洖鏁版嵁琛寋ex.StackTrace}");
}
return content;
}
@@ -194,41 +192,23 @@
try
{
int oldState = task.TaskState;
- if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
+ var taskGroup = task.TaskState.GetTaskStateGroup();
+
+ // 2. 鑾峰彇涓嬩竴姝ョ姸鎬�
+ int nextStatus = taskGroup switch
{
- int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
+ TaskStateGroup.OutbondGroup => task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>(),
+ TaskStateGroup.InboundGroup => task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>(),
+ _ => throw new InvalidOperationException($"浠诲姟绫诲瀷閿欒, 浠诲姟鍙�:銆恵task.TaskNum}銆�, 浠诲姟绫诲瀷:銆恵task.TaskType}銆�")
+ };
- task.TaskState = nextStatus;
-
- if (task.TaskState == (int)TaskOutStatusEnum.AGV_OutFinish)
- {
-
- task.ModifyDate = DateTime.Now;
- task.Modifier = "System";
-
- Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
- task_Hty.TaskId = 0;
-
- BaseDal.DeleteData(task);
- _taskHtyRepository.AddData(task_Hty);
- }
- }
- else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
+ if (nextStatus <= 0)
{
- int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
- task.TaskState = nextStatus;
-
-
- }
- else
- {
- throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
+ return WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�, 浠诲姟鍙�:銆恵task.TaskNum}銆�, 褰撳墠鐘舵��:銆恵task.TaskState}銆�");
}
- if (task.TaskState <= 0)
- {
- return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟鐘舵��:銆恵task.TaskState}銆�");
- }
+ // 3. 鏇存柊浠诲姟鐘舵��
+ task.TaskState = nextStatus;
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
@@ -236,17 +216,31 @@
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"浜哄伐鎵嬪姩灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戣烦杞埌銆恵task.TaskState}銆�" : $"绯荤粺鑷姩娴佺▼锛屼换鍔$姸鎬佷粠銆恵oldState}銆戣浆鍒般�恵task.TaskState}銆�");
+ #region 浠诲姟瀹屾垚璋冪敤鎺ュ彛
+ bool isOutFinish = task.TaskState == (int)TaskOutStatusEnum.AGV_OutFinish;
+ bool isInFinish = task.TaskState == (int)TaskInStatusEnum.AGV_InFinish;
+
+ if (isOutFinish || isInFinish)
+ {
+ int finalState = isOutFinish
+ ? (int)TaskOutStatusEnum.OutFinish
+ : (int)TaskInStatusEnum.InFinish;
+
+ task.TaskState = finalState;
+
+ BaseDal.DeleteAndMoveIntoHty(task, App.User.UserName != null ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
+
+ var wmstaskCompleteIp= GetIpAddress(SysConfigKeyConst.CompleteTask);
+ var res= HttpHelper.PostAsync(wmstaskCompleteIp, new { TaskNum = task.TaskNum}.ToJsonString()).Result;
+ return JsonConvert.DeserializeObject<WebResponseContent>(res);
+ }
+
+ #endregion
+
#region 鏇存柊浠诲姟鐘舵��
// 鑾峰彇WMSip鍦板潃
- var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
- var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.UpdateTaskStatus)?.ConfigValue;
- if (wmsBase == null || updateTask == null)
- {
- throw new InvalidOperationException("WMS IP 鏈厤缃�");
- }
- var wmsIpAddress = wmsBase + updateTask;
+ var wmsIpAddress = GetIpAddress(SysConfigKeyConst.UpdateTaskStatus);
var result = HttpHelper.PostAsync(wmsIpAddress, new { TaskNum = task.TaskNum, TaskState = task.TaskState }.ToJsonString()).Result;
content = JsonConvert.DeserializeObject<WebResponseContent>(result);
@@ -351,10 +345,10 @@
return content;
}
- private string GetIpAddress(string baseIp, string name)
+ public string GetIpAddress(string name)
{
var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- var wcsBasez = configz.Where(x => x.ConfigKey == baseIp).FirstOrDefault()?.ConfigValue;
+ var wcsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue;
var address = configz.Where(x => x.ConfigKey == name).FirstOrDefault()?.ConfigValue;
if (wcsBasez == null || address == null)
{
--
Gitblit v1.9.3