From 74854de51af1fa69a8385174a463c01065fcf570 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 30 十月 2025 16:58:11 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 122 ++++++++++++++++++++++++----------------
1 files changed, 73 insertions(+), 49 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 d1a0c14..9afaf55 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"
@@ -113,7 +113,7 @@
Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.EndPoint);
if (stationManagerStart == null)
{
- return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
+ throw new Exception("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
}
task = new Dt_Task()
{
@@ -138,21 +138,12 @@
{
string[] targetCodes = taskDTOs.BeginPoint.Split("-");
- if(GetScCode(Convert.ToInt32(targetCodes[0]))=="SC01"&&(taskDTOs.EndPoint=="1030"|| taskDTOs.EndPoint == "1029"))
- {
- return content.Error($"涓�鍙峰爢鍨涙満涓嶈兘鍑哄簱鑷宠鐐逛綅{taskDTOs.EndPoint}");
- }
- if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.EndPoint == "1002" || taskDTOs.EndPoint == "1004"))
- {
- return content.Error($"鍏彿鍫嗗灈鏈轰笉鑳藉嚭搴撹嚦璇ョ偣浣峽taskDTOs.EndPoint}");
- }
-
if (taskDTOs.EndPoint == "3004")
{
- var newTask = BaseDal.QueryFirst(x => x.SourceAddress == "3001" && x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState != (int)TaskInStatusEnum.HoistNew && x.TaskState != (int)TaskInStatusEnum.HoistInExecuting && x.TaskState > 225);
+ var newTask = BaseDal.QueryFirst(x => x.SourceAddress == "3002" && x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState != (int)TaskInStatusEnum.HoistNew && x.TaskState != (int)TaskInStatusEnum.HoistInExecuting && x.TaskState > 225);
if (newTask != null)
{
- return content.Error("宸插瓨鍦ㄥ叆搴撲换鍔★紝鍑哄簱浠诲姟涓嶅彲涓嬪彂");
+ throw new Exception("宸插瓨鍦ㄥ叆搴撲换鍔★紝鍑哄簱浠诲姟涓嶅彲涓嬪彂");
}
}
@@ -160,7 +151,7 @@
Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.EndPoint);
if (stationManagerEnd == null)
{
- return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
+ throw new Exception("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
}
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == GetScCode(Convert.ToInt32(targetCodes[0])) && x.stationType == 2 && x.stationFloor == stationManagerEnd.stationFloor);
@@ -170,7 +161,7 @@
{
RGVName = stationManager.RGVName;
}
- task = new Dt_Task()
+ Dt_Task NewTask = new Dt_Task()
{
TaskNum = BaseDal.GetTaskNo().Result,
Creater = "WMS",
@@ -186,10 +177,27 @@
TargetAddress = taskDTOs.EndPoint,
RGVName = stationManager.RGVName != null ? stationManager.RGVName : RGVName,
Floor = stationManager.stationFloor,
- TargetStation= stationManagerEnd.remark,
- SourceStation= 0,
+ TargetStation = stationManagerEnd.remark,
+ SourceStation = 0,
};
- BaseDal.AddData(task);
+ if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && (taskDTOs.EndPoint == "1030" || taskDTOs.EndPoint == "1029"))
+ {
+ Dt_StationManager stationTransfer = _stationManagerRepository.QueryFirst(x => x.stationChildCode== "1025");
+ NewTask.TargetStation = stationTransfer.stationRemark;
+ NewTask.Remark = "1025";
+ }
+ if(taskDTOs.EndPoint == "1004")
+ {
+ throw new Exception("璇ョ偣浣嶄笉鏄嚭搴撶偣浣�");
+ }
+ if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && taskDTOs.EndPoint == "1002")
+ {
+ Dt_StationManager stationTransfer = _stationManagerRepository.QueryFirst(x => x.stationChildCode == "1026");
+ NewTask.TargetStation = stationTransfer.stationRemark;
+ NewTask.Remark = "1026";
+ }
+ task = NewTask;
+ BaseDal.AddData(NewTask);
}
}
// 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
@@ -227,7 +235,7 @@
Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.BeginPoint);
if (stationManagerStart == null)
{
- return content.Error("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
+ throw new Exception("鏈壘鍒板嚭搴撶珯鍙颁俊鎭�");
}
task = new Dt_Task()
{
@@ -252,17 +260,7 @@
{
task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode);
string[] targetCodes = taskDTOs.EndPoint.Split("-");
-
- if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && (taskDTOs.BeginPoint == "1030" || taskDTOs.EndPoint == "1029"))
- {
- return content.Error($"璇ョ偣浣峽taskDTOs.EndPoint}涓嶈兘鍏ュ簱涓�鍙峰爢鍨涙満");
- }
-
- if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.BeginPoint == "1002" || taskDTOs.BeginPoint == "1004"))
- {
- return content.Error($"璇ョ偣浣峽taskDTOs.EndPoint}涓嶈兘鍏ュ簱鍏彿鍫嗗灈鏈�");
- }
-
+
if (task != null)
{
task.Creater = "WMS";
@@ -291,11 +289,25 @@
task.TargetStation = stationManager.stationRemark;
+
+ if ((GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && (taskDTOs.BeginPoint == "1030" || taskDTOs.EndPoint == "1029")) || (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && task.RGVName == "RGV02"))
+ {
+ Dt_StationManager stationTransfer = _stationManagerRepository.QueryFirst(x => x.stationChildCode == "1026");
+ task.TargetStation = stationTransfer.stationRemark;
+ task.Remark = "1026";
+ }
+
+ if ((GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.BeginPoint == "1002" || taskDTOs.BeginPoint == "1004")) || (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && task.RGVName == "RGV01"))
+ {
+ Dt_StationManager stationTransfer = _stationManagerRepository.QueryFirst(x => x.stationChildCode == "1026");
+ task.TargetStation = stationTransfer.stationRemark;
+ task.Remark = "1025";
+ }
BaseDal.UpdateData(task);
}
else
{
- return content.Error($"鏈壘鍒拌鎵樼洏銆恵taskDTOs.TPbarcode}銆戜换鍔�");
+ throw new Exception($"鏈壘鍒拌鎵樼洏銆恵taskDTOs.TPbarcode}銆戜换鍔�");
}
}
}
@@ -320,6 +332,10 @@
Grade = 3,
+ TaskNum = BaseDal.GetTaskNo().Result,
+
+ PalletCode= taskDTOs.TPbarcode,
+
};
BaseDal.AddData(task);
}
@@ -329,7 +345,7 @@
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
if (stationManager == null)
{
- return content.Error("鏈壘鍒拌捣鐐圭珯鍙�");
+ throw new Exception("鏈壘鍒拌捣鐐圭珯鍙�");
}
if (task != null)
@@ -430,11 +446,11 @@
{
return "SC04";
}
- else if (number >= 15 && number <= 18)
+ else if (number >= 15 && number <= 17)
{
return "SC05";
}
- else if (number >= 19 && number <= 22)
+ else if (number >= 18 && number <= 21)
{
return "SC06";
}
@@ -583,7 +599,7 @@
/// <returns></returns>
public Dt_Task QueryRGVExecutingTask(string deviceNo)
{
- return BaseDal.QueryFirst(x => (x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish|| x.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS|| x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish) && x.RGVName == deviceNo);
+ return BaseDal.QueryFirst(x => (x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish|| x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish) && x.RGVName == deviceNo);
}
/// <summary>
@@ -594,7 +610,7 @@
/// <returns></returns>
public Dt_Task QueryRGVExecutingTask(string deviceNo,int taskNum)
{
- return BaseDal.QueryFirst(x => (x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS) && x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish && x.RGVName == deviceNo&&x.TaskNum==taskNum);
+ return BaseDal.QueryFirst(x => (x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish) && x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish && x.RGVName == deviceNo&&x.TaskNum==taskNum);
}
/// <summary>
@@ -605,6 +621,15 @@
public Dt_Task QueryRelocationTask(string deviceNo)
{
return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.TaskType == (int)TaskRelocationTypeEnum.Relocation && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew);
+ }
+ public bool QueryStackerTask(string deviceNo)
+ {
+ var task= BaseDal.QueryFirst(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskInStatusEnum.SC_InExecuting || x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting || x.TaskState == (int)TaskRelocationStatusEnum.Relocation_Executing));
+ if (task == null)
+ {
+ return true;
+ }
+ return false;
}
/// <summary>
@@ -650,7 +675,7 @@
public List<Dt_Task> QueryRGVTask()
{
- return BaseDal.QueryData(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish) && x.Floor == "1F"), TaskOrderBy);
+ return BaseDal.QueryData(x => ((TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.InNew) || (TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish)) && x.Floor == "1F", TaskOrderBy);
}
/// <summary>
@@ -917,19 +942,6 @@
task.TaskState = nextStatus;
- if (task.TaskState == (int)TaskOutStatusEnum.RGV_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);
-
- RGVTaskCompleted(task.TaskNum);
- }
if (task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
{
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationChildCode == task.NextAddress);
@@ -1106,6 +1118,18 @@
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV鍑哄簱瀹屾垚");
}
+ else if (task.TaskState == (int)TaskInStatusEnum.RGV_TransFer)
+ {
+ task.TaskState = (int)TaskInStatusEnum.RGV_TransFerFInish;
+ BaseDal.UpdateData(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV鍏ュ簱涓浆");
+ }
+ else if (task.TaskState == (int)TaskOutStatusEnum.RGV_TransFer)
+ {
+ task.TaskState = (int)TaskOutStatusEnum.RGV_TransFerFInish;
+ BaseDal.UpdateData(task);
+ _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV鍑哄簱涓浆");
+ }
else
{
throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�");
--
Gitblit v1.9.3