From 7c926c1e3ade5158e6b1b0b805cd1b9c142e4b6c Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期六, 21 十二月 2024 09:45:33 +0800
Subject: [PATCH] 更新代码以使用SqlSugarScope替代SqlSugarClient,并添加生产产线属性
---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 76 ++++++++++++++++++++++++++++++++------
1 files changed, 64 insertions(+), 12 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 4b333bf..bfa2c3b 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -40,6 +40,7 @@
private readonly IDt_StationManagerRepository _stationManagerRepository;
private readonly IRouterRepository _routerRepository;
private readonly ITask_HtyRepository _taskHtyRepository;
+ private readonly IDt_needBarcodeRepository _taskNeedBarcodeRepository;
private Dictionary<string, OrderByType> _taskOrderBy = new()
{
@@ -54,7 +55,7 @@
public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).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)
+ 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, IDt_needBarcodeRepository taskNeedBarcodeRepository) : base(BaseDal)
{
_routerService = routerService;
_taskExecuteDetailService = taskExecuteDetailService;
@@ -65,6 +66,7 @@
_stationManagerRepository = stationManagerRepository;
_routerRepository = routerRepository;
_taskHtyRepository = htyRepository;
+ _taskNeedBarcodeRepository = taskNeedBarcodeRepository;
}
/// <summary>
@@ -88,32 +90,48 @@
task.Creater = "WMS";
if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
{
- List<Dt_Router> routers = _routerService.QueryNextRoutes(item.RoadWay, item.TargetAddress);
- if (routers.Count > 0)
+ if (task.TargetAddress == "002-021-001")
{
task.TaskState = (int)TaskOutStatusEnum.OutNew;
task.CurrentAddress = item.SourceAddress;
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
}
else
{
- routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
+ List<Dt_Router> routers = _routerService.QueryNextRoutes(item.RoadWay, item.TargetAddress);
if (routers.Count > 0)
{
- task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
+ 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;
+ }
}
}
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
{
- List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
- if (routers.Count > 0)
+ if (task.SourceAddress == "1359-4")
{
task.TaskState = (int)TaskInStatusEnum.InNew;
task.CurrentAddress = item.SourceAddress;
- task.NextAddress = routers.FirstOrDefault().ChildPosi;
+ }
+ else
+ {
+ 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);
@@ -170,7 +188,7 @@
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
{
var station = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == task.SourceAddress);
- Dt_Task _Task = _mapper.Map<Dt_Task>(task);
+ Dt_Task _Task = _mapper.Map<Dt_Task>(task);
_Task.TaskState = (int)TaskInStatusEnum.InNew;
_Task.CurrentAddress = task.SourceAddress;
_Task.NextAddress = station.stationNGChildCode;
@@ -247,6 +265,12 @@
return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InFinish || x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish), TaskOrderBy);
}
+ public Dt_Task QueryBarcodeTask(string barcode, string currentAddress)
+ {
+ return BaseDal.QueryFirst(x => x.PalletCode == barcode && x.CurrentAddress == currentAddress, TaskOrderBy);
+ }
+
+
/// <summary>
/// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏂板缓鐨勪换鍔�
/// </summary>
@@ -315,6 +339,21 @@
return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
else
return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, TaskOrderBy);
+ }
+
+ /// <summary>
+ /// 鏍规嵁璁惧缂栧彿銆佹帓闄ょ殑浠诲姟銆佸綋鍓嶅湴鍧�鎸夌収浼樺厛绾т互鍙婂垱寤烘椂闂存帓搴忔煡璇换鍔℃睜鍑哄簱绫诲瀷鐨勬柊澧炵殑鎵�鏈変换鍔�
+ /// </summary>
+ /// <param name="deviceNo">璁惧缂栧彿</param>
+ /// <param name="excludedTaskId">鎺掗櫎鐨勪换鍔�</param>
+ /// <param name="currentAddress">褰撳墠鍦板潃</param>
+ /// <returns>杩斿洖浠诲姟瀹炰綋瀵硅薄锛屽彲鑳戒负null</returns>
+ public List<Dt_Task> QueryAllOutboundTasks(string deviceNo, string currentAddress = "")
+ {
+ if (string.IsNullOrEmpty(currentAddress))
+ return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
+ else
+ return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, TaskOrderBy);
}
/// <summary>
@@ -623,9 +662,17 @@
else
{
task.TaskState = (int)TaskOutStatusEnum.OutFinish;
+ //濡傞珮娓╁嚭搴撳悗 NG 鍒欏皢浠诲姟鏍囪涓篘G 骞跺湪鍑哄簱鐢宠鍚庡皢浠诲姟鍑鸿嚦NG鍙�
+ if (task.Remark == "NG")
+ {
+ BaseDal.UpdateData(task);
+ }
+ else
+ {
+ BaseDal.DeleteData(task);
+ ConsoleHelper.WriteWarningLine($"楂樻俯鍑哄簱鐩殑鍦板潃{task.TargetAddress}");
+ }
- BaseDal.DeleteData(task);
- ConsoleHelper.WriteWarningLine($"楂樻俯鍑哄簱鐩殑鍦板潃{task.TargetAddress}");
var taskHty = task.Adapt<Dt_Task_Hty>();
_taskHtyRepository.AddData(taskHty);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�");
@@ -777,5 +824,10 @@
{
return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskStatus.Created);
}
+
+ 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);
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3