From b7da1f32d5d9997378b5ac535593a3f6144af46b Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 15 十月 2025 17:15:38 +0800
Subject: [PATCH] 新增AGV与堆垛机移库判断及缓存优化
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 738 ++++++++++++++++++++++----------------------------------
1 files changed, 296 insertions(+), 442 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index a9cdf85..f2f9f1a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -1,5 +1,6 @@
锘縰sing AutoMapper;
using HslCommunication;
+using LogLibrary.Log;
using Mapster;
using Newtonsoft.Json;
using SqlSugar;
@@ -26,7 +27,6 @@
using WIDESEAWCS_QuartzJob.Repository;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_TaskInfoRepository;
-using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
namespace WIDESEAWCS_TaskInfoService
{
@@ -54,6 +54,9 @@
public List<int> TaskInboundTypes => typeof(TaskInboundTypeEnum).GetEnumIndexList();
public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList();
+ public List<int> TaskRelocationboundTypes => typeof(TaskRelocationStatusEnum).GetEnumIndexList();
+ public List<int> TaskAGVCarryboundTypes => typeof(TaskAGVCarryStatusEnum).GetEnumIndexList();
+ public List<int> TaskAcrossFloorboundTypes => typeof(TaskAcrossFloorStatusEnum).GetEnumIndexList();
public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, IRouterRepository routerRepository, ITask_HtyRepository htyRepository) : base(BaseDal)
{
@@ -93,80 +96,80 @@
Dt_Task task = _mapper.Map<Dt_Task>(item);
// 璁剧疆浠诲姟鐨勫垱寤鸿�呬负"WMS"
task.Creater = "WMS";
+ task.Remark = item.Remark;
// 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄嚭搴撲换鍔�
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
- // 鍒ゆ柇浠诲姟鐩爣鍦板潃鍜岃矾寰勬槸鍚︽弧瓒崇壒瀹氭潯浠�
- if (((task.TargetAddress == "002-021-001" || task.TargetAddress == "001-021-001") && task.Roadway.Contains("JZ")) || task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm)
- {
- // 璁剧疆浠诲姟鐘舵�佷负鍑哄簱鏂板缓
- task.TaskState = (int)TaskOutStatusEnum.OutNew;
- // 璁剧疆褰撳墠鍦板潃涓烘簮鍦板潃
- task.CurrentAddress = item.SourceAddress;
- // 璁剧疆涓嬩竴涓湴鍧�涓虹洰鏍囧湴鍧�
- task.NextAddress = item.TargetAddress;
- }
- else
- {
- // 鏌ヨ涓嬩竴涓矾鐢�
- 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
- {
- // 鏌ヨ浠庢簮鍦板潃鍒扮洰鏍囧湴鍧�鐨勮矾鐢�
- routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
- if (routers.Count > 0)
- {
- // 璁剧疆浠诲姟鐘舵�佷负鍑哄簱瀹屾垚
- task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
- // 璁剧疆褰撳墠鍦板潃涓烘簮鍦板潃
- task.CurrentAddress = item.SourceAddress;
- // 璁剧疆涓嬩竴涓湴鍧�涓虹涓�涓瓙浣嶇疆
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
- }
- }
- }
+ var station = _stationManagerRepository.QueryFirst(x => x.stationType == 1 && x.Roadway == "SC1");
+
+ task.TaskState = (int)TaskOutStatusEnum.OutNew;
+
+ task.CurrentAddress = item.SourceAddress;
+
+ task.NextAddress = station.stationChildCode;
+
+ task.Floor = "1F";
+
+ task.AGVSign = "";
}
// 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
{
- var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue;
- var valueList = value.Split(',').ToList();
- // 鍒ゆ柇婧愬湴鍧�鏄惁涓嶇瓑浜�"1359-4"
- //if (task.SourceAddress != "1359-4" && task.SourceAddress != "1357-4")
- if (!valueList.Contains(task.SourceAddress))
+ var station = _stationManagerRepository.QueryFirst(x => x.stationType == 1 && x.Roadway == "SC1");
+
+ task.TaskState = (int)TaskInStatusEnum.InNew;
+
+ task.CurrentAddress = item.SourceAddress;
+
+ task.NextAddress = station.stationChildCode;
+
+ task.Floor = "1F";
+
+ task.AGVSign= "";
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+ {
+ task.TaskState = (int)TaskRelocationStatusEnum.RelocationNew;
+
+ task.CurrentAddress = item.SourceAddress;
+
+ task.NextAddress = task.TargetAddress;
+
+ task.Floor = "1F";
+
+ task.AGVSign = "";
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.CarryGroup)
+ {
+ var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.SourceAddress);
+
+ task.TaskState = (int)TaskAGVCarryStatusEnum.CarryNew;
+
+ task.CurrentAddress = item.SourceAddress;
+
+ task.NextAddress = task.TargetAddress;
+
+ task.Floor = station.stationFloor;
+
+ task.AGVSign = "";
+ }
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+ {
+ var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.SourceAddress);
+
+ if (station != null)
{
- // 鏌ヨ浠庢簮鍦板潃鍒扮洰鏍囧湴鍧�鐨勮矾鐢�
- 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;
- }
- }
- else
- {
- task.CurrentAddress = string.Empty;
- if (task.SourceAddress == "1325-6")
- // 璁剧疆褰撳墠鍦板潃涓�"001-021-001"
- task.CurrentAddress = "001-021-001";
- else
- // 璁剧疆褰撳墠鍦板潃涓�"002-021-001"
- task.CurrentAddress = "002-021-001";
- // 璁剧疆涓嬩竴涓湴鍧�涓虹洰鏍囧湴鍧�
- task.NextAddress = item.TargetAddress;
+ var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == station.stationFloor);
+
+ task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
+
+ task.CurrentAddress = item.SourceAddress;
+
+ task.NextAddress = next.stationChildCode;
+
+ task.Floor = station.stationFloor;
+
+ task.AGVSign = "";
}
}
// 灏嗚浆鎹㈠悗鐨勪换鍔℃坊鍔犲埌浠诲姟鍒楄〃涓�
@@ -190,215 +193,7 @@
return content;
}
- /// <summary>
- /// 鏍规嵁鎵樼洏鍙枫�佽捣濮嬪湴鍧�鍚慦MS璇锋眰浠诲姟
- /// </summary>
- /// <param name="palletCode">鎵樼洏鍙�</param>
- /// <param name="sourceAddress">璧峰鍦板潃</param>
- /// <returns></returns>
- public async Task<WebResponseContent> RequestWMSTask(string palletCode, string sourceAddress)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- var hasTask = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
- if (hasTask != null)
- {
- var taskExecuting = BaseDal.QueryFirst(x => x.PalletCode == palletCode && x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting);
-
- if (taskExecuting != null)
- {
- taskExecuting.ExceptionMessage = "鏈帴鏀跺埌绾夸綋瀹屾垚淇″彿绯荤粺鍐呴儴鑷姩瀹屾垚";
- Delete(taskExecuting);
- }
- ConsoleHelper.WriteErrorLine($"褰撳墠鎵樼洏瀛樺湪浠诲姟锛氥�恵palletCode}銆�");
- QuartzLogger.WriteLogToFile($"浠诲姟寮傚父鏈畬鎴�", $"褰撳墠鎵樼洏瀛樺湪浠诲姟锛氥�恵palletCode}銆憑Environment.NewLine}");
- }
-
- var wmsIpAddrss = string.Empty;
- var stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == sourceAddress);
- if (stationManager.stationType == 5)
- {
- wmsIpAddrss = GetIpAddress(SysConfigKeyConst.WMSIP_BASE, SysConfigKeyConst.RequestInBoundTaskNG);
- }
- else
- {
- wmsIpAddrss = GetIpAddress(SysConfigKeyConst.WMSIP_BASE, SysConfigKeyConst.RequestTask);
- }
-
- var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = sourceAddress, PalletCode = palletCode, stationManager.productLine }.ToJsonString());
- content = JsonConvert.DeserializeObject<WebResponseContent>(result);
-
- if (!content.Status)
- {
- // wms澶辫触杩斿洖鍘籒G鍙d换鍔�
- return content;
- }
-
- var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
- if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
- {
- var station = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == task.SourceAddress);
- Dt_Task _Task = _mapper.Map<Dt_Task>(task);
- _Task.TaskState = (int)TaskInStatusEnum.InNew;
- _Task.CurrentAddress = task.SourceAddress;
- _Task.NextAddress = station.stationNGChildCode;
- _Task.TargetAddress = task.TargetAddress;
-
- BaseDal.AddData(_Task);
- _taskExecuteDetailService.AddTaskExecuteDetail(_Task.TaskNum, "鎺ユ敹WMS浠诲姟");
- return content.OK();
- }
- else
- {
- return ReceiveWMSTask(new List<WMSTaskDTO> { task });
- }
- }
- catch (Exception ex)
- {
- QuartzLogger.WriteLogToFile($"鎺ユ敹浠诲姟寮傚父", $"鎵樼洏鍙凤細銆恵palletCode}銆戣姹傜偣浣嶏細銆恵sourceAddress}銆戝紓甯镐俊鎭�恵ex.Message}銆戝紓甯歌銆恵ex.StackTrace}銆�");
- return WebResponseContent.Instance.Error(ex.Message);
- }
- }
-
- /// <summary>
- /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
- /// </summary>
- /// <param name="deviceNo">璁惧缂栧彿</param>
- /// <param name="currentAddress">褰撳墠鍦板潃</param>
- /// <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);
- }
-
- /// <summary>
- /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
- /// </summary>
- /// <param name="deviceNo">璁惧缂栧彿</param>
- /// <param name="currentAddress">褰撳墠鍦板潃</param>
- /// <returns></returns>
- public Dt_Task QueryConveyorLineTask(string deviceNo, string currentAddress, string Barcode)
- {
- 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>
- /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏈墽琛岀殑浠诲姟
- /// </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>
- /// 鏍规嵁浠诲姟鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="nextAddress">涓嬩竴鍦板潃</param>
- /// <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);
- }
-
- /// <summary>
- /// 鏍规嵁浠诲姟鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="Barcode">涓嬩竴鍦板潃</param>
- /// <param name="currentAddress">涓嬩竴鍦板潃</param>
- /// <returns></returns>
- public Dt_Task QueryExecutingCurrentConveyorLineTask(int taskNum, string Barcode, string currentAddress)
- {
- return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.PalletCode == Barcode && x.CurrentAddress == currentAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
- }
-
- /// <summary>
- /// 鏍规嵁浠诲姟鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="nextAddress">涓嬩竴鍦板潃</param>
- /// <returns></returns>
- public Dt_Task QueryExecutingConveyorLineTask(int taskNum, string nextAddress, string Barcode)
- {
- return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
- }
-
- /// <summary>
- /// 鏍规嵁鎵樼洏鍙枫�佷笅涓�鍦板潃鏌ヨ杈撻�佺嚎鎵ц涓殑浠诲姟
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="nextAddress">涓嬩竴鍦板潃</param>
- /// <returns></returns>
- public Dt_Task QueryExecutingConveyorLineTask(string nextAddress, string Barcode)
- {
- return BaseDal.QueryFirst(x => (x.NextAddress == nextAddress || x.TargetAddress == nextAddress) && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
- }
-
- /// <summary>
- /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎瀹屾垚鐨勪换鍔�
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="currentAddress">褰撳墠鍦板潃</param>
- /// <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);
- }
-
- /// <summary>
- /// 鏍规嵁鎵樼洏鍙枫�佸綋鍓嶅湴鍧�鏌ヨ浠诲姟
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="currentAddress">褰撳墠鍦板潃</param>
- /// <returns></returns>
- public Dt_Task QueryBarcodeTask(string barcode, string currentAddress)
- {
- return BaseDal.QueryFirst(x => x.PalletCode == barcode && x.CurrentAddress == currentAddress, TaskOrderBy);
- }
-
- /// <summary>
- /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏂板缓鐨勪换鍔�
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="currentAddress">褰撳墠鍦板潃</param>
- /// <returns></returns>
- public Dt_Task QueryCraneConveyorLineTask(int taskNum, string currentAddress)
- {
- return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskState == (int)TaskInStatusEnum.InNew || x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
- }
-
- /// <summary>
- /// 鏍规嵁璁惧缂栧彿銆佷换鍔$被鍨嬪垎缁�(鍙��)鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鏂板鐨勪换鍔�
- /// </summary>
- /// <param name="deviceNo">璁惧缂栧彿</param>
- /// <param name="taskTypeGroup">浠诲姟绫诲瀷鍒嗙粍(鍙��)</param>
- /// <returns></returns>
- 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);
- if (taskTypeGroup.Value == TaskTypeGroup.InboundGroup)
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish, TaskOrderBy);
- if (taskTypeGroup.Value == TaskTypeGroup.OutbondGroup)
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
- return null;
- }
+ #region 鍫嗗灈鏈轰换鍔℃煡璇�
/// <summary>
/// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鏂板鐨勪换鍔�
@@ -457,16 +252,32 @@
return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, TaskOrderBy);
}
+ #endregion
+
+ #region AGV璇锋眰璁惧淇″彿浠诲姟鏌ヨ
+
/// <summary>
- /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鍑哄簱绫诲瀷鐨勬柊澧炵殑浠诲姟
+ /// 璇锋眰杈撻�佺嚎
/// </summary>
- /// <param name="deviceNo">璁惧缂栧彿</param>
- /// <param name="currentAddress">褰撳墠鍦板潃</param>
- /// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄闆嗗悎锛屽彲鑳戒负null</returns>
- public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, List<string> outStationCodes)
+ /// <param name="deviceNo"></param>
+ /// <param name="agvSign"></param>
+ /// <returns></returns>
+ public Dt_Task QueryRequestConveyorLineSignalTask()
{
- return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && outStationCodes.Contains(x.CurrentAddress), TaskOrderBy);
+ return BaseDal.QueryFirst(x => (x.AGVSign == "RequestPickUp" || x.AGVSign == "RequestPut")&&((TaskInboundTypes.Contains(x.TaskType) && x.TaskState > (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState > (int)TaskOutStatusEnum.SC_OutFinish)));
}
+
+ /// <summary>
+ /// 璇锋眰鎻愬崌鏈�
+ /// </summary>
+ /// <returns></returns>
+ public Dt_Task QueryRequestTSJSignalTask()
+ {
+ return BaseDal.QueryFirst(x => TaskAcrossFloorboundTypes.Contains(x.TaskType) && x.TaskState > (int)TaskAcrossFloorStatusEnum.CarryNew && (x.AGVSign == "RequestPickUp" || x.AGVSign == "RequestPut"));
+ }
+
+ #endregion
+
/// <summary>
/// 鏇存柊浠诲姟寮傚父淇℃伅鏄剧ず
@@ -503,19 +314,6 @@
return content;
}
- /// <summary>
- /// 鏇存柊浠诲姟鐘舵�佷俊鎭紝骞跺悓姝ヨ嚦WMS
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="status">浠诲姟鐘舵��</param>
- public void UpdateTaskStatus(int taskNum, int status)
- {
- var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
- if (task == null) return;
- task.TaskState = status;
- task.ModifyDate = DateTime.Now;
- BaseDal.UpdateData(task);
- }
/// <summary>
/// 灏嗕换鍔$姸鎬佷慨鏀逛负涓嬩竴涓姸鎬�
@@ -544,7 +342,7 @@
/// <returns></returns>
public WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task)
{
- WebResponseContent content = new WebResponseContent();
+ WebResponseContent? content = new WebResponseContent();
try
{
int oldState = task.TaskState;
@@ -554,8 +352,10 @@
task.TaskState = nextStatus;
- if (task.TaskState == (int)TaskOutStatusEnum.Line_OutFinish)
+ if (task.TaskState == (int)TaskOutStatusEnum.AGV_OutFinish)
{
+ CompletedTask(task.TaskNum);
+
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
@@ -581,46 +381,42 @@
{
#region 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
- // TODO: 璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
- // 鍒涘缓璇锋眰瀵硅薄
- var taskDto = new RequestTaskDto()
- {
- Position = task.NextAddress,
- PalletCode = task.PalletCode,
- };
+ //var taskDto = new RequestTaskDto()
+ //{
+ // Position = task.NextAddress,
+ // PalletCode = task.PalletCode,
+ //};
- // 鑾峰彇WMSip鍦板潃
- var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- var wmsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue;
- var requestLocation = configz.Where(x => x.ConfigKey == SysConfigKeyConst.RequestLocation).FirstOrDefault()?.ConfigValue;
- if (wmsBasez == null || requestLocation == null)
- {
- throw new InvalidOperationException("WMS IP 鏈厤缃�");
- }
- var wmsIpAddrss = wmsBasez + requestLocation;
+ //// 鑾峰彇WMSip鍦板潃
+ //var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ //var wmsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue;
+ //var requestLocation = configz.Where(x => x.ConfigKey == SysConfigKeyConst.RequestLocation).FirstOrDefault()?.ConfigValue;
+ //if (wmsBasez == null || requestLocation == null)
+ //{
+ // throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ //}
+ //var wmsIpAddrss = wmsBasez + requestLocation;
- // 鍙戦�佽姹傚苟绛夊緟鍝嶅簲
- var abc = HttpHelper.PostAsync(wmsIpAddrss, taskDto.ToJsonString()).Result;
- if (abc == null)
- return content.Error();
- // 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
- content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
+ //// 鍙戦�佽姹傚苟绛夊緟鍝嶅簲
+ //var abc = HttpHelper.PostAsync(wmsIpAddrss, taskDto.ToJsonString()).Result;
+ //if (abc == null)
+ // return content.Error();
+ //// 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
+ //content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
+ //LogFactory.WriteError($"Info_鑾峰彇璐т綅", $"鑾峰彇璐т綅,浠诲姟鍙�:銆恵task.TaskNum}銆�,鎵樼洏鍙凤細銆恵task.PalletCode}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}");
- QuartzLogger.WriteLogToFile($"Info_鑾峰彇璐т綅", $"鑾峰彇璐т綅,浠诲姟鍙�:銆恵task.TaskNum}銆�,鎵樼洏鍙凤細銆恵task.PalletCode}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}");
+ //// 妫�鏌ョ姸鎬佸苟杩斿洖
+ //if (!content.Status)
+ //{
+ // return content;
+ //}
-
- // 妫�鏌ョ姸鎬佸苟杩斿洖
- if (!content.Status)
- {
- return content;
- }
-
- // 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
- var taskResult = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+ //// 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
+ //var taskResult = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
task.CurrentAddress = task.NextAddress;
- task.NextAddress = taskResult.TargetAddress;
+ task.NextAddress = task.TargetAddress;
task.TargetAddress = task.NextAddress;
#endregion 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
@@ -632,6 +428,132 @@
content = StackCraneTaskCompleted(task.TaskNum);
return content;
}
+
+ 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.TaskType.GetTaskTypeGroup() == TaskTypeGroup.CarryGroup)
+ {
+ int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskAGVCarryStatusEnum>();
+
+ task.TaskState = nextStatus;
+
+ if (task.TaskState == (int)TaskAGVCarryStatusEnum.AGV_CarryFinish)
+ {
+ 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.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+ {
+ int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskAcrossFloorStatusEnum>();
+
+ task.TaskState = nextStatus;
+
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarryFinish)
+ {
+ CompletedTask(task.TaskNum);
+
+ task.TaskState = (int)TaskAcrossFloorStatusEnum.SecondCarryFinish;
+ 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);
+ }
+
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarryFinish)
+ {
+ Dt_StationManager stationManager = new Dt_StationManager();
+ string TaskTemplate = string.Empty;
+ if (task.Floor == "1F")
+ {
+ stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "2F");
+ TaskTemplate = "BBB";
+ }
+ else
+ {
+ stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "1F");
+ TaskTemplate = "CCC";
+ }
+
+ var taskDto = new RequestAcrossFloorTaskDto()
+ {
+ NextAddress = task.NextAddress,
+ PalletCode = task.PalletCode,
+ TaskNum = task.TaskNum
+ };
+
+ // 鑾峰彇WMSip鍦板潃
+ var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBasez = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue;
+ var requestLocation = configz.Where(x => x.ConfigKey == SysConfigKeyConst.AcrossFloorTask).FirstOrDefault()?.ConfigValue;
+ if (wmsBasez == null || requestLocation == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddrss = wmsBasez + requestLocation;
+
+ var abc = HttpHelper.PostAsync(wmsIpAddrss, taskDto.ToJsonString()).Result;
+ if (abc == null)
+ return content.Error();
+ content = JsonConvert.DeserializeObject<WebResponseContent>(abc);
+
+ if (!content.Status)
+ {
+ return content;
+ }
+
+ // 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
+ var taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+
+ Dt_Task taskNew = _mapper.Map<Dt_Task>(taskDTO);
+ task.Creater = "WMS";
+
+ taskNew.CurrentAddress = stationManager.stationChildCode;
+
+ taskNew.NextAddress = task.TargetAddress;
+
+ taskNew.Floor = stationManager.stationFloor;
+
+ taskNew.AGVSign = "";
+
+ task.TaskState = (int)TaskAcrossFloorStatusEnum.FirstCarryFinish;
+ 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);
+
+ BaseDal.AddData(taskNew);
+
+ SendAgvTask(TaskTemplate, taskNew.TaskNum);
+ return content.OK();
+ }
+
+ if (task.TaskState == (int)TaskAGVCarryStatusEnum.AGV_CarryFinish)
+ {
+
+ CompletedTask(task.TaskNum);
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
@@ -664,7 +586,7 @@
// 鑾峰彇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.UpdateTask)?.ConfigValue;
+ var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.UpdateTaskStatus)?.ConfigValue;
if (wmsBase == null || updateTask == null)
{
throw new InvalidOperationException("WMS IP 鏈厤缃�");
@@ -685,39 +607,27 @@
return content;
}
- /// <summary>
- /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏇存柊浠诲姟浣嶇疆淇℃伅
- /// </summary>
- /// <param name="taskNum">浠诲姟鍙�</param>
- /// <param name="currentAddress">褰撳墠鍦板潃</param>
- /// <returns></returns>
- public Dt_Task? UpdatePosition(int taskNum, string currentAddress)
+ public void CompletedTask(int taskNum)
{
- try
+ #region WMS鍚屾浠诲姟瀹屾垚
+
+ var keys = new Dictionary<string, object>()
{
- var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress);
- if (task == null) throw new Exception($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
-
- string oldCurrentPos = task.CurrentAddress;
- string oldNextPos = task.NextAddress;
-
- var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
- if (!routers.Any()) throw new Exception($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
-
- task.CurrentAddress = task.NextAddress;
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
-
- task.ModifyDate = DateTime.Now;
- task.Modifier = "System";
-
-
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"绯荤粺鑷姩娴佺▼锛屾洿鏂板綋鍓嶄綅缃�恵oldCurrentPos} ----> {task.CurrentAddress}銆戝拰涓嬩竴浣嶇疆銆恵oldNextPos} ----> {task.NextAddress}銆�");
- return task;
- }
- catch (Exception ex)
+ {"taskNum", taskNum}
+ };
+ // 鑾峰彇WMSip鍦板潃
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var completeTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
+ if (wmsBase == null || completeTask == null)
{
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
}
- return null;
+ var wmsIpAddress = wmsBase + completeTask;
+
+ var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result;
+
+ #endregion WMS鍚屾浠诲姟瀹屾垚
}
/// <summary>
@@ -733,84 +643,24 @@
var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
if (task == null) return WebResponseContent.Instance.Error($"鏈壘鍒拌浠诲姟淇℃伅,浠诲姟鍙�:銆恵taskNum}銆�");
- #region WMS鍚屾浠诲姟瀹屾垚
-
- var keys = new Dictionary<string, object>()
- {
- {"taskNum", taskNum}
- };
- // 鑾峰彇WMSip鍦板潃
- var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
- var completeTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
- if (wmsBase == null || completeTask == null)
- {
- throw new InvalidOperationException("WMS IP 鏈厤缃�");
- }
- var wmsIpAddress = wmsBase + completeTask;
-
- var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result;
-
- QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(result)}銆憑Environment.NewLine}{Environment.NewLine}");
- if (result != null)
- {
-
- content = JsonConvert.DeserializeObject<WebResponseContent>(result);
- if (!content.Data.IsNullOrEmpty())
- {
- if (content.Data.ToString() == "NG")
- {
- task.Remark = "NG";
- //BaseDal.UpdateData(task);
- //_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴愶紝MOM杩斿洖NG");
- }
- }
- task.ExceptionMessage += " " + content.Message;
-
- }
- #endregion WMS鍚屾浠诲姟瀹屾垚
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
{
- if (!task.Roadway.Contains("GW") && task.TaskType != (int)TaskOutboundTypeEnum.InToOut)
- {
- var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
- if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
+ int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
+ task.TaskState = nextStatus;
- int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
- task.TaskState = nextStatus;
- task.CurrentAddress = task.NextAddress;
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
- task.ModifyDate = DateTime.Now;
- task.Modifier = "System";
- BaseDal.UpdateData(task);
+ task.CurrentAddress = task.NextAddress;
+ task.NextAddress = task.TargetAddress;
+ task.ModifyDate = DateTime.Now;
+ task.Modifier = "System";
+ BaseDal.UpdateData(task);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
- }
- else
- {
- task.TaskState = (int)TaskOutStatusEnum.OutFinish;
- //濡傞珮娓╁嚭搴撳悗 NG 鍒欏皢浠诲姟鏍囪涓篘G 骞跺湪鍑哄簱鐢宠鍚庡皢浠诲姟鍑鸿嚦NG鍙�
- if (task.Remark == "NG")
- {
- BaseDal.UpdateData(task);
- }
- else
- {
- BaseDal.DeleteData(task);
- ConsoleHelper.WriteWarningLine($"楂樻俯鍑哄簱鐩殑鍦板潃{task.TargetAddress}");
- }
-
- var taskHty = task.Adapt<Dt_Task_Hty>();
- _taskHtyRepository.AddData(taskHty);
- _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
- }
-
- //鏆備笉鑰冭檻澶氫釜鍑哄簱鍙�
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
{
- //todo 鍚屾鍒癢MS
+ CompletedTask(task.TaskNum);
+
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
task.TaskState = nextStatus;
task.ModifyDate = DateTime.Now;
@@ -823,9 +673,21 @@
_taskHtyRepository.AddData(task_Hty);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�");
}
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+ else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup && task.TaskState == (int)TaskRelocationStatusEnum.SC_RelocationExecuting)
{
- //todo 璋冪敤WMS绉诲簱瀹屾垚
+ CompletedTask(task.TaskNum);
+
+ int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskRelocationStatusEnum>();
+ task.TaskState = nextStatus;
+ 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);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ搴撳畬鎴�");
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
{
@@ -838,9 +700,9 @@
catch (Exception ex)
{
content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�");
- QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戝紓甯镐俊鎭�恵ex.Message}銆憑Environment.NewLine}寮傚父淇℃伅銆恵ex.StackTrace}銆憑Environment.NewLine}");
+ LogFactory.WriteError($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�", ex);
}
- QuartzLogger.WriteLogToFile($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}");
+ LogFactory.WriteInfo($"Info_浠诲姟瀹屾垚", $"浠诲姟瀹屾垚,浠诲姟鍙�:銆恵taskNum}銆戣繑鍥炲弬鏁般�恵JsonConvert.SerializeObject(content)}銆憑Environment.NewLine}{Environment.NewLine}");
return content;
}
@@ -938,15 +800,7 @@
{
return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew);
}
- public Dt_Task QueryOutFireAlarmTask(string deviceNo)
- {
- return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm && x.TaskState == (int)TaskOutStatusEnum.OutNew);
- }
- public Dt_Task QueryExecutingTaskByBarcode(string barcode, string nextAddress)
- {
- return BaseDal.QueryFirst(x => x.PalletCode == barcode && x.NextAddress == nextAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting), TaskOrderBy);
- }
private string GetIpAddress(string baseIp, string name)
{
--
Gitblit v1.9.3