From 299e5efbe6bd7a13a545b4a90793f29d273347f3 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 30 十月 2025 11:46:21 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 136 ++++++++++++++++++++++++++++-----------------
1 files changed, 85 insertions(+), 51 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 1465b4e..36052e6 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"
@@ -103,6 +103,7 @@
WebResponseContent content = new WebResponseContent();
try
{
+ WriteLog.GetLog("鎺ユ敹WMS浠诲姟").Write(JsonConvert.SerializeObject(taskDTOs), "鎺ユ敹WMS浠诲姟");
Dt_Task task =null;
// 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄嚭搴撲换鍔�
if (taskDTOs.TaskType == "2")
@@ -112,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()
{
@@ -137,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("宸插瓨鍦ㄥ叆搴撲换鍔★紝鍑哄簱浠诲姟涓嶅彲涓嬪彂");
}
}
@@ -159,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);
@@ -169,7 +161,7 @@
{
RGVName = stationManager.RGVName;
}
- task = new Dt_Task()
+ Dt_Task NewTask = new Dt_Task()
{
TaskNum = BaseDal.GetTaskNo().Result,
Creater = "WMS",
@@ -185,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);
}
}
// 鍒ゆ柇浠诲姟绫诲瀷鏄惁涓哄叆搴撲换鍔�
@@ -226,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()
{
@@ -251,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";
@@ -290,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}銆戜换鍔�");
}
}
}
@@ -328,7 +341,7 @@
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
if (stationManager == null)
{
- return content.Error("鏈壘鍒拌捣鐐圭珯鍙�");
+ throw new Exception("鏈壘鍒拌捣鐐圭珯鍙�");
}
if (task != null)
@@ -338,6 +351,7 @@
Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
task_Hty.TaskId = 0;
+ task_Hty.OperateType = (int)OperateTypeEnum.寮傚父閫�鍥�;
BaseDal.DeleteData(task);
_taskHtyRepository.AddData(task_Hty);
@@ -347,6 +361,7 @@
PalletCode=taskDTOs.TPbarcode,
ErrorMessage=taskDTOs.EndPoint,
CreateDate=DateTime.Now,
+ Creater = "WMS"
};
_errorMessageRepository.AddData(message);
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.RGVName);
@@ -383,6 +398,7 @@
PalletCode = taskDTOs.TPbarcode,
ErrorMessage = taskDTOs.EndPoint,
CreateDate = DateTime.Now,
+ Creater ="WMS"
};
_errorMessageRepository.AddData(message);
}
@@ -398,6 +414,7 @@
}
catch (Exception ex)
{
+ WriteLog.GetLog("鎺ユ敹WMS浠诲姟").Write(JsonConvert.SerializeObject(ex.Message), "鎺ユ敹WMS浠诲姟");
content = WebResponseContent.Instance.Error($"鐢熸垚浠诲姟澶辫触,閿欒淇℃伅:{ex.Message}");
}
finally
@@ -425,11 +442,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";
}
@@ -578,7 +595,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>
@@ -589,7 +606,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>
@@ -600,6 +617,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>
@@ -645,7 +671,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>
@@ -912,19 +938,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);
@@ -939,6 +952,10 @@
{
content = StackCraneTaskCompleted(task.TaskNum);
return content;
+ }
+ if (task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
+ {
+ task.Dispatchertime = DateTime.Now;
}
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
@@ -1030,6 +1047,7 @@
}
var wmsIpAddress = wmsBase + requestTask;
var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+ WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV璋冨害瀹屾垚绛夊緟WMS浠诲姟");
}
@@ -1092,9 +1110,21 @@
}
var wmsIpAddress = wmsBase + requestTask;
var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
-
+ WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
_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
{
@@ -1160,7 +1190,7 @@
Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
task_Hty.TaskId = 0;
-
+ task_Hty.OperateType = (int)OperateTypeEnum.鑷姩瀹屾垚;
BaseDal.DeleteData(task);
_taskHtyRepository.AddData(task_Hty);
_taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�");
@@ -1183,6 +1213,7 @@
}
var wmsIpAddress = wmsBase + requestTask;
var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+ WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
{
@@ -1216,6 +1247,7 @@
}
var wmsIpAddress = wmsBase + requestTask;
var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+ WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
}
else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
{
@@ -1311,6 +1343,7 @@
}
var wmsIpAddress = wmsBase + requestTask;
var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+ WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
#endregion
content = WebResponseContent.Instance.OK("鍙栨秷浠诲姟鎴愬姛");
@@ -1372,6 +1405,7 @@
}
var wmsIpAddress = wmsBase + requestTask;
var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+ WriteLog.GetLog("WMS鎺ュ彛杩斿洖淇℃伅").Write(JsonConvert.SerializeObject(result), "WMS鎺ュ彛杩斿洖淇℃伅");
#endregion
content = WebResponseContent.Instance.OK("鎵嬪姩瀹屾垚鎴愬姛");
--
Gitblit v1.9.3