From f5b8c1ae89286dada20ea433ffac84f4c9e72a29 Mon Sep 17 00:00:00 2001
From: huanghongfeng <huanghongfeng@hnkhzn.com>
Date: 星期五, 06 六月 2025 14:31:25 +0800
Subject: [PATCH] 1
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 142 ++++++++++++++++++++++++++++++++++-------------
1 files changed, 103 insertions(+), 39 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 4fa7034..544d966 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -114,6 +114,7 @@
}
BaseDal.AddData(tasks);
_taskExecuteDetailService.AddTaskExecuteDetail(tasks.Select(x => x.TaskNum).ToList(), "鎺ユ敹WMS浠诲姟");
+
content = WebResponseContent.Instance.OK("鎴愬姛");
}
catch (Exception ex)
@@ -157,6 +158,7 @@
PalletCode = palletCode
};
content = HttpHelper.Post<WebResponseContent>($"{urlWMSTask}", generate);
+ WriteLog.GetLog("鍏ュ簱浠诲姟鎺ユ敹").Write(JsonConvert.SerializeObject(content), "鍏ュ簱浠诲姟鎺ユ敹");
Dt_Task task = new Dt_Task();
if (content != null)
{
@@ -169,6 +171,8 @@
return content = WebResponseContent.Instance.Error();
}
}
+
+
return content = WebResponseContent.Instance.Error();
}
catch (Exception ex)
@@ -199,23 +203,9 @@
throw;
}
-
- /*WebResponseContent content = new WebResponseContent();
- GenerateInv generate = new GenerateInv()
- {
- SourceAddress = "",
- PalletCode = palletCode
- };
- content = HttpHelper.Post<WebResponseContent>($"{urlQueryinventory}", generate);
- if (content != null)
- {
- if (content.Status)
- {
- return content;
- }
- }
- return content = WebResponseContent.Instance.Error();*/
}
+
+
/// <summary>
/// 鏍规嵁鎵樼洏鍙枫�佽捣濮嬪湴鍧�鍚慦MS璇锋眰浠诲姟
@@ -336,7 +326,7 @@
task = JsonConvert.DeserializeObject<Dt_Task>(content.Data.ToString());
if (task.TaskNum != _Task.TaskNum)
{
-
+ WriteLog.GetLog("鎺ユ敹浠诲姟").Write("绉诲簱浠诲姟锛�"+JsonConvert.SerializeObject(task), "鎺ユ敹浠诲姟");
task.TaskState = (int)TaskRelocationTypeEnum.Relocation;
task.Roadway = task.Roadway == "1" ? task.Roadway = "SC01" : task.Roadway = "SC02";
task.TaskNum = task.TaskNum;
@@ -349,8 +339,46 @@
}
else
{
- return null;
WriteLog.GetLog("PLC鏃ュ織").Write($"澶辫触淇℃伅锛歿content.Message}", "绉诲簱淇℃伅");
+ return null;
+
+ }
+ }
+
+ return _Task;
+ }
+
+
+ public Dt_Task RequestWMSTaskMovelibrary2(Dt_Task _Task)
+ {
+ WebResponseContent content = new WebResponseContent();
+ content = HttpHelper.Get<WebResponseContent>($"{urlWMSMovelibraryTask}?TaskNum={_Task.TaskNum}&SourceAddress={_Task.TargetAddress}");
+ Dt_Task task = new Dt_Task();
+ if (content != null)
+ {
+ if (content.Status)
+ {
+ if (content.Data != null)
+ {
+ task = JsonConvert.DeserializeObject<Dt_Task>(content.Data.ToString());
+ if (task.TaskNum != _Task.TaskNum)
+ {
+ WriteLog.GetLog("鎺ユ敹浠诲姟").Write("绉诲簱浠诲姟锛�" + JsonConvert.SerializeObject(task), "鎺ユ敹浠诲姟");
+ task.TaskState = (int)TaskRelocationTypeEnum.Relocation;
+ task.Roadway = task.Roadway == "1" ? task.Roadway = "SC01" : task.Roadway = "SC02";
+ task.TaskNum = task.TaskNum;
+ task.Grade = 3;
+ task.TaskType = (int)TaskRelocationTypeEnum.Relocation;
+ BaseDal.AddData(task);
+ return task;
+ }
+ }
+ }
+ else
+ {
+ WriteLog.GetLog("PLC鏃ュ織").Write($"澶辫触淇℃伅锛歿content.Message}", "绉诲簱淇℃伅");
+ return null;
+
}
}
@@ -420,6 +448,18 @@
else
return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
}
+
+ public List<Dt_Task> CraneTaskList(string deviceNo)
+ {
+ return BaseDal.QueryData(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskInStatusEnum.Line_InFinish || x.TaskState == (int)TaskOutStatusEnum.OutNew),TaskOrderBy);
+ }
+
+ public Dt_Task CutStackerCraneTask(string deviceNo)
+ {
+ Dt_Task dt_Task = BaseDal.QueryFirst(x => x.Roadway == deviceNo && (x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting || x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting || x.TaskState == (int)TaskInStatusEnum.SC_InFinish));
+ return dt_Task;
+ }
+
public Dt_Task IngStackerCraneTask(string deviceNo)
{
//string deviceNot = deviceNo == "SC01" ? "1" : "2";
@@ -488,6 +528,11 @@
public List<Dt_Task> QueryStationIsOccupiedOutTasks(string deviceNo, string SourceAddress)
{
return BaseDal.QueryData(x => x.Roadway == deviceNo && SourceAddress.Contains(x.SourceAddress), TaskOrderBy);
+ }
+
+ public List<Dt_Task> QueryStationIsOccupiedOutTasks2(string deviceNo, string TargetAddress)
+ {
+ return BaseDal.QueryData(x => x.Roadway == deviceNo && TargetAddress.Contains(x.SourceAddress), TaskOrderBy);
}
/// <summary>
@@ -705,9 +750,14 @@
{
/*List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress);
if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�");*/
+ task.TaskState = (int)TaskOutStatusEnum.OutFinish;
+ BaseDal.UpdateData(task);
+
content = HttpHelper.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}&HowWorks=2");
- task.TaskState = (int)TaskOutStatusEnum.OutFinish;
+
+ wcs_PLCto09("鍑哄簱浠诲姟",$"鏉$爜锛歿task.PalletCode},浠诲姟鍙凤細{task.TaskNum}",$"璋冨彇wms浠诲姟鍙嶉锛歿JsonConvert.SerializeObject(content)}");
+
task.ModifyDate = DateTime.Now;
BaseDal.DeleteData(task);
_task_HtyService.AddTaskHty(task);
@@ -718,10 +768,14 @@
}
else if (task.TaskType == (int)TaskInboundTypeEnum.Inbound && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
{
+ task.TaskState = (int)TaskInStatusEnum.InFinish;
+ BaseDal.UpdateData(task);
+
content = HttpHelper.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}&HowWorks=2");
+
+ wcs_PLCto09("鍏ュ簱浠诲姟", $"鏉$爜锛歿task.PalletCode},浠诲姟鍙凤細{task.TaskNum}", $"璋冨彇wms浠诲姟鍙嶉锛歿JsonConvert.SerializeObject(content)}");
//todo
//int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
- task.TaskState = (int)TaskInStatusEnum.InFinish;
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
BaseDal.DeleteData(task);
@@ -731,16 +785,13 @@
}
else if (task.TaskType == (int)TaskRelocationTypeEnum.Relocation)
{
- /*GenerateInv2 generate = new GenerateInv2()
- {
- PalletCode = task.PalletCode,
- SourceAddress = task.SourceAddress,
- TargetAddress = task.TargetAddress
+ task.TaskState = (int)TaskOutStatusEnum.OutRest;
+ BaseDal.UpdateData(task);
- };
- content = HttpHelper.Post<WebResponseContent>($"{urlTaskCompleted}", generate);*/
content = HttpHelper.Get<WebResponseContent>($"{urlTaskCompleted}?TaskNum={task.TaskNum}&HowWorks=2");
- task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
+
+ wcs_PLCto09("鍏ュ簱浠诲姟", $"鏉$爜锛歿task.PalletCode},浠诲姟鍙凤細{task.TaskNum}", $"璋冨彇wms浠诲姟鍙嶉锛歿JsonConvert.SerializeObject(content)}");
+
task.ModifyDate = DateTime.Now;
BaseDal.DeleteData(task);
_task_HtyService.AddTaskHty(task);
@@ -758,7 +809,7 @@
}
catch (Exception ex)
{
- content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆�");
+ content = WebResponseContent.Instance.Error($"浠诲姟瀹屾垚寮傚父,浠诲姟鍙�:銆恵taskNum}銆戯紝鍘熷洜锛歿ex.Message}");
}
return content;
}
@@ -912,20 +963,33 @@
public WebResponseContent ReceiveWCSTask(int tasknum)
{
Dt_Task tasks = BaseDal.QueryFirst(x => x.TaskNum == tasknum);
- try
+ if(tasks == null)
{
- _task_HtyService.AddTaskHty(tasks);
- BaseDal.DeleteData(tasks);
- WriteLog.Write_Log("WMS鎵嬪姩鍒犻櫎浠诲姟", "鍒犻櫎鎴愬姛", $"鐢宠鍒犻櫎鐨勬潯鐮侊細{tasks.TaskNum},鎵樼洏鏉$爜锛歿tasks.PalletCode}", new { 淇℃伅 = "鍒犻櫎鎴愬姛" });
- return WebResponseContent.Instance.OK();
-
- }
- catch (Exception ex)
- {
- WriteLog.Write_Log("WMS鎵嬪姩鍒犻櫎浠诲姟","鍒犻櫎澶辫触", $"鐢宠鍒犻櫎鐨勬潯鐮侊細{tasks.TaskNum},鎵樼洏鏉$爜锛歿tasks.PalletCode}", new { 淇℃伅 = ex.Message });
return WebResponseContent.Instance.Error();
}
+ else
+ {
+ try
+ {
+ _task_HtyService.AddTaskHty(tasks);
+ BaseDal.DeleteData(tasks);
+ WriteLog.Write_Log("WMS鎵嬪姩鍒犻櫎浠诲姟", "鍒犻櫎鎴愬姛", $"鐢宠鍒犻櫎鐨勬潯鐮侊細{tasks.TaskNum},鎵樼洏鏉$爜锛歿tasks.PalletCode}", new { 淇℃伅 = "鍒犻櫎鎴愬姛" });
+ return WebResponseContent.Instance.OK();
+
+ }
+ catch (Exception ex)
+ {
+ WriteLog.Write_Log("WMS鎵嬪姩鍒犻櫎浠诲姟", "鍒犻櫎澶辫触", $"鐢宠鍒犻櫎鐨勬潯鐮侊細{tasks.TaskNum},鎵樼洏鏉$爜锛歿tasks.PalletCode}", new { 淇℃伅 = ex.Message });
+ return WebResponseContent.Instance.Error();
+ }
+ }
+
}
+
+ public void wcs_PLCto09(string SCLLinStack, string Logtype, string Magessadd)
+ {
+ WriteLog.Write_Log("浠诲姟瀹屾垚浜や簰", SCLLinStack, Logtype, new { 淇℃伅 = Magessadd });
+ }
}
}
--
Gitblit v1.9.3