From 63dcb7fc55d32960f643f4040900ce9a0e33536d Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 20 十月 2025 17:25:56 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs | 240 ++++++++++++++++++++---------------------------------------
1 files changed, 81 insertions(+), 159 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
index e653bc8..ed2c5f9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
@@ -88,92 +88,38 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
{
- if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
+ if (task.Floor == "1F")
{
- Dt_StationManager stationManager = new Dt_StationManager();
- string TaskTemplate = string.Empty;
- if (task.Floor == "1F")
- {
- stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "2F");
- elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
- TaskTemplate = "BBB";
- //璇锋眰WMS璺ㄦゼ灞�2浠诲姟
- }
- else
- {
- stationManager = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == "1F");
- elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
- //璇锋眰WMS璺ㄦゼ灞�2浠诲姟
- TaskTemplate = "CCC";
- }
- 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;
-
- _taskRepository.DeleteData(task);
- _taskhtyRepository.AddData(task_Hty);
- Random random = new Random();
- int randomNumber = random.Next(1000, 10000);
-
- WMSTaskDTO taskDTO = new WMSTaskDTO()
- {
- Id = 1,
- TaskNum = randomNumber,
- RoadWay = "AGV",
- TaskType = (int)TaskAcrossFloorTypeEnum.AcrossFloorCarry,
- TaskState = (int)TaskAcrossFloorStatusEnum.SecondCarry,
- PalletCode = task.PalletCode,
- SourceAddress = stationManager.stationChildCode,
- TargetAddress = task.TargetAddress,
- Grade = 1,
- AGVTaskNum = GenerateUniqueId()
- };
- Dt_Task SecondCarry = _mapper.Map<Dt_Task>(taskDTO);
- task.Creater = "WMS";
-
- SecondCarry.CurrentAddress = stationManager.stationChildCode;
-
- SecondCarry.NextAddress = task.TargetAddress;
-
- SecondCarry.Floor = stationManager.stationFloor;
-
- SecondCarry.AGVSign = "";
-
- _taskRepository.AddData(SecondCarry);
-
- _taskService.SendAgvTask(TaskTemplate, SecondCarry.TaskNum);
- content.OK();
+ elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
}
- else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+ else
{
- 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;
-
- _taskRepository.DeleteData(task);
- _taskhtyRepository.AddData(task_Hty);
+ elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
}
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ content.OK();
}
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.CarryGroup)
+ else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.EndAddressExecuting)
+ {
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ content.OK();
+ }
+
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
{
_taskService.UpdateTaskStatusToNext(task.TaskNum);
}
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
{
if (task.TaskState == (int)TaskOutStatusEnum.AGV_OutExecuting)
{
_taskService.UpdateTaskStatusToNext(task.TaskNum);
}
}
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+ else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
{
commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "LK001");
commonConveyorLine.Communicator.WriteNoRead("DB100.0", 9990);
@@ -200,24 +146,23 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
- {
- if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
- {
- if (task.Floor == "1F")
- {
- elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
- }
- else
- {
- elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
- }
- task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
- _taskRepository.UpdateData(task);
- }
- }
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+ {
+ if (task.Floor == "1F")
+ {
+ elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
+ }
+ else
+ {
+ elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
+ }
+ task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
+ _taskRepository.UpdateData(task);
+ }
+
+
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
{
commonConveyorLine.SetValue(ConveyorLineDBName.PickUpFinish, 1, "LK001");
task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting;
@@ -242,42 +187,39 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
{
- if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+ if (task.Floor == "1F")
{
- if (task.Floor == "1F")
+ if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp) == 1)
{
- if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp) == 1)
- {
- _taskService.ContinueAgvTask(task.AGVTaskNum);
- content.OK();
- }
- else
- {
- task.AGVSign = "RequestPickUp";
- _taskRepository.UpdateData(task);
- content.Error("璁惧涓嶅厑璁稿彇璐�");
- }
+ _taskService.ContinueAgvTask(task.AGVTaskNum);
+ content.OK();
}
else
{
- if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp) == 1)
- {
- _taskService.ContinueAgvTask(task.AGVTaskNum);
- content.OK();
- }
- else
- {
- task.AGVSign = "RequestPickUp";
- _taskRepository.UpdateData(task);
- content.Error("璁惧涓嶅厑璁稿彇璐�");
- }
+ task.AGVSign = "RequestPickUp";
+ _taskRepository.UpdateData(task);
+ content.Error("璁惧涓嶅厑璁稿彇璐�");
+ }
+ }
+ else
+ {
+ if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp) == 1)
+ {
+ _taskService.ContinueAgvTask(task.AGVTaskNum);
+ content.OK();
+ }
+ else
+ {
+ task.AGVSign = "RequestPickUp";
+ _taskRepository.UpdateData(task);
+ content.Error("璁惧涓嶅厑璁稿彇璐�");
}
}
}
-
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
{
if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "LK001") == 1)
{
@@ -313,42 +255,39 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
{
- if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
+ if (task.Floor == "1F")
{
- if (task.Floor == "1F")
+ if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut) == 1)
{
- if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut) == 1)
- {
- _taskService.ContinueAgvTask(task.AGVTaskNum);
- content.OK();
- }
- else
- {
- task.AGVSign = "RequestPut";
- _taskRepository.UpdateData(task);
- content.Error("璁惧涓嶅厑璁告斁璐�");
- }
+ _taskService.ContinueAgvTask(task.AGVTaskNum);
+ content.OK();
}
else
{
- if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut) == 1)
- {
- _taskService.ContinueAgvTask(task.AGVTaskNum);
- content.OK();
- }
- else
- {
- task.AGVSign = "RequestPut";
- _taskRepository.UpdateData(task);
- content.Error("璁惧涓嶅厑璁告斁璐�");
- }
+ task.AGVSign = "RequestPut";
+ _taskRepository.UpdateData(task);
+ content.Error("璁惧涓嶅厑璁告斁璐�");
+ }
+ }
+ else
+ {
+ if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut) == 1)
+ {
+ _taskService.ContinueAgvTask(task.AGVTaskNum);
+ content.OK();
+ }
+ else
+ {
+ task.AGVSign = "RequestPut";
+ _taskRepository.UpdateData(task);
+ content.Error("璁惧涓嶅厑璁告斁璐�");
}
}
}
-
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
{
if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "LK001") == 1)
{
@@ -376,22 +315,5 @@
#endregion
- #region 鑾峰彇AGV浠诲姟鍙�
-
- private static readonly Random _random = new Random();
-
-
- public static string GenerateUniqueId()
- {
- // 鑾峰彇褰撳墠姣绾ф椂闂存埑
- long timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds();
-
- // 鐢熸垚4浣嶉殢鏈烘暟锛�0000-9999锛�
- int randomNumber = _random.Next(0, 10000);
- string randomPart = randomNumber.ToString("D4"); // 琛ラ浂鍒�4浣�
-
- return $"{timestamp}{randomPart}";
- }
- #endregion
}
}
--
Gitblit v1.9.3