From 4a574cd38860e7260f9349f9770c87d27dfdeeaf Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期三, 01 四月 2026 20:59:27 +0800
Subject: [PATCH] 1
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs | 150 ++++++++++++++++++++++++++++++++++---------------
1 files changed, 103 insertions(+), 47 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs"
index 2c3ae55..0dbd942 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/HKTaskExtend.cs"
@@ -4,6 +4,8 @@
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO;
@@ -24,7 +26,7 @@
{
foreach (var item in tasks)
{
- var content = SendHIKROBOTTask(item);
+ var content = _taskService.SendHIKROBOTTask(item);
}
}
#endregion
@@ -34,66 +36,120 @@
{
foreach (var item in tasks)
{
- var content = SendHIKROBOTTask(item);
+ var content = _taskService.SendHIKROBOTTask(item);
}
+
}
#endregion
- #region 涓嬪彂娴峰悍AGV浠诲姟
- public WebResponseContent SendHIKROBOTTask(Dt_Task task)
+ #region 涓嬪彂娴峰悍1-6妤肩殑AGV浠诲姟
+ public void SendAGVTask(List<Dt_Task> tasks)
+ {
+ foreach (var item in tasks)
+ {
+ if (item.TaskState == (int)TaskTypeEnum.Q3CK)
+ {
+ // 璋冪敤鎺ュ彛鑾峰彇灏忚溅淇℃伅
+ var result = _agvcartInfoService.CheckTheCar();
+
+ // 鍒ゆ柇鏄惁鏈� AA 鎴� FF
+ bool hasAAOrFF = false;
+
+ if (item.TaskState == (int)TaskTypeEnum.Q3CK)
+ {
+ if (result != null && result.Status)
+ {
+ var dataList = result.Data as List<HIKROBOTQueryData>;
+ if (dataList != null && dataList.Any())
+ {
+ // 妫�鏌ヨ繑鍥炵殑 mapCode 鍒楄〃涓槸鍚︽湁 AA
+ hasAAOrFF = dataList.Any(d => d.mapCode == "AA");
+ if (hasAAOrFF)
+ {
+ var content = _taskService.SendHIKROBOTTask(item);
+ item.TaskState = (int)TaskStatusEnum.Execut;
+ }
+ else//杩欓噷鎴戝氨瑕佸懠鍙┖杞︽潵
+ {
+ //娣诲姞绌鸿溅杩愯緭浠诲姟
+ AddAGVCartInfo(item);
+ item.TaskState = (int)TaskStatusEnum.WaitingHkAGVMovePosition;
+ }
+ }
+
+ }
+ }
+ else
+ {
+ if (result != null && result.Status)
+ {
+ if (hasAAOrFF)
+ {
+ var content = _taskService.SendHIKROBOTTask(item);
+ item.TaskState = (int)TaskStatusEnum.Execut;
+ }
+ else//杩欓噷鎴戝氨瑕佸懠鍙┖杞︽潵
+ {
+ //娣诲姞绌鸿溅杩愯緭浠诲姟
+ AddAGVCartInfo(item);
+ item.TaskState = (int)TaskStatusEnum.WaitingHkAGVMovePosition;
+ }
+ }
+ }
+ }
+ }
+ _taskService.UpdateData(tasks);
+ }
+ #endregion
+
+
+ #region 澶勭悊娴峰悍agv鎼繍浠诲姟
+ public WebResponseContent AddAGVCartInfo(Dt_Task task)
{
WebResponseContent content = new WebResponseContent();
try
{
- Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(HIKROBOTTaskSubmit)) ?? throw new Exception("鏈壘鍒版捣搴稟GV浠诲姟涓嬪彂鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�");
-
- #region 浠诲姟淇℃伅杞崲
- HIKROBOTTaskSubmit hIKROBOTTaskSubmit = new HIKROBOTTaskSubmit()
- {
- taskType = "",
- initPriority = task.Grade,
- targetRoute = new List<TargetRouteDto>
- {
- new TargetRouteDto
- {
- type= "SITE",
- code=task.CurrentAddress,
- operation="COLLECT",//鍙栬揣
- },
- new TargetRouteDto
- {
- type= "SITE",
- code=task.NextAddress,
- operation="DELIVERY",//閫佽揣
- }
- }
- };
- #endregion
-
- string response = HttpHelper.Post(apiInfo.ApiAddress, hIKROBOTTaskSubmit.Serialize());
- var hIKROBOTReturn = response.DeserializeObject<HIKROBOTReturn>();
- if (hIKROBOTReturn.code == "SUCCESS")
- {
- var data = hIKROBOTReturn.data.ToString().DeserializeObject<HIKROBOTReturnData>();
- content.OK(data: data);
- //task.Remark = data.robotTaskCode;
- }
- else
- {
- throw new Exception(hIKROBOTReturn.message);
- }
- //_taskService.UpdateData(task);
+ task.TaskNum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+ task.WMSTaskNum = null;
+ task.TaskType = (int)TaskTypeEnum.Move;//鎹㈠眰浠诲姟
+ task.TaskState = (int)TaskStatusEnum.CallingHKtransportation;
+ var result = _taskService.SendHIKROBOTTask(task);
+ _taskService.AddData(task);
}
catch (Exception ex)
{
- content.Error(ex.Message);
- }
- finally
- {
-
+ content.Error($"鍒涘缓澶辫触锛歿ex.Message}");
}
return content;
}
#endregion
+
+ #region 澶勭悊agv寰呯┖杞︽惉杩愪换鍔�
+ public void SendHKWaitTask()
+ {
+ try
+ {
+ List<Dt_Task> reslut = _taskService.Repository.QueryData(x => x.TaskType == (int)TaskTypeEnum.Move);
+ if (reslut.Count<0)
+ {
+ foreach (var item in reslut)
+ {
+ var content = _taskService.SendHIKROBOTTask(item);
+ }
+ reslut.ForEach(x =>
+ {
+ x.TaskState =(int)TaskStatusEnum.Execut;
+ });
+
+ }
+ _taskService.UpdateData(reslut);
+
+ }
+ catch (Exception ex)
+ {
+ WriteError(nameof(TaskJob), ex.Message, ex);
+ }
+ }
+ #endregion
}
}
--
Gitblit v1.9.3