From 4bdc37291d784008cea7fb9d105077b65a12beb9 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期二, 24 三月 2026 09:31:52 +0800
Subject: [PATCH] job优化
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs | 58 ++++----
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs | 18 +-
项目资料/与设备交互接口/海康AGV/高普WCS.海康协议260323-1.xlsx | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs | 11 +
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs | 89 +++--------
项目资料/与上游系统接口清单/WMS接口对接文档_V2026324.docx | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs | 171 ++++++++++++++++++------
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 2
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/HKTaskMethods.cs | 20 +-
9 files changed, 213 insertions(+), 156 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
index e9de1a4..07b4798 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskTypeEnum.cs"
@@ -91,6 +91,17 @@
/// </summary>
[Description("鎴愬搧绉诲簱")]
CPMoveInventory,
+
+ /// <summary>
+ /// 绾胯竟鍒版彁鍗囨満
+ /// </summary>
+ [Description("绾胯竟鍒版彁鍗囨満")]
+ F04,
+ /// <summary>
+ /// 鎻愬崌鏈哄埌绾胯竟
+ /// </summary>
+ [Description("鎻愬崌鏈哄埌绾胯竟")]
+ F03,
}
public enum TaskInboundTypeEnum
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/HKTaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/HKTaskMethods.cs"
index b87085b..f61e389 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/HKTaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/HKTaskMethods.cs"
@@ -181,7 +181,7 @@
// 鍒涘缓Headers瀛楀吀
var headers = new Dictionary<string, string>
{
- { "X-lr-request-id", DateTimeOffset.Now.ToUnixTimeSeconds().ToString() }
+ { "X-lr-request-id", DateTimeOffset.Now.ToUnixTimeSeconds().ToString()+task.TaskNum }
// 濡傛灉闇�瑕佸叾浠朒eader锛屽彲浠ョ户缁坊鍔�
// { "Content-Type", "application/json" }
};
@@ -221,7 +221,7 @@
HIKROBOTTaskSubmit hIKROBOTTaskSubmit = new HIKROBOTTaskSubmit();
try
{
- var tasktype = (TaskTypeEnum)Enum.GetValues(typeof(TaskTypeEnum)).GetValue(task.TaskType-1);
+ var tasktype = (TaskTypeEnum)Enum.GetValues(typeof(TaskTypeEnum)).GetValue(task.TaskType - 1);
hIKROBOTTaskSubmit.initPriority = task.Grade;
hIKROBOTTaskSubmit.robotTaskCode = task.WMSTaskNum;
@@ -245,6 +245,8 @@
case TaskTypeEnum.RK3F:
case TaskTypeEnum.CK3F:
case TaskTypeEnum.F02:
+ case TaskTypeEnum.F03:
+ case TaskTypeEnum.F04:
{
TargetRouteDto target = new TargetRouteDto()
{
@@ -330,11 +332,11 @@
/// </summary>
/// <param name="TaskCode">浠诲姟鍙�</param>
/// <returns></returns>
- public WebResponseContent Hikvisiontaskscontinue(string TaskCode,string Address=null)
+ public WebResponseContent Hikvisiontaskscontinue(string TaskCode, string Address = null)
{
WebResponseContent content = new WebResponseContent();
HIKROBOTReturn hIKROBOTReturn = null;
- HIKROBOTTaskContinue hIKROBOTTaskContinue =null;
+ HIKROBOTTaskContinue hIKROBOTTaskContinue = null;
try
{
// 1. 鍙傛暟楠岃瘉
@@ -346,8 +348,8 @@
hIKROBOTTaskContinue = new HIKROBOTTaskContinue()
{
triggerCode = TaskCode,
- triggerType="TASK",//鍥哄畾鍊�
- targetRoute=string.IsNullOrEmpty(Address)?null:
+ triggerType = "TASK",//鍥哄畾鍊�
+ targetRoute = string.IsNullOrEmpty(Address) ? null :
new TargetRouteDto()
{
code = Address,
@@ -356,11 +358,11 @@
};
var headers = new Dictionary<string, string>
{
- { "X-lr-request-id", DateTimeOffset.Now.ToUnixTimeSeconds().ToString() }
+ { "X-lr-request-id", DateTimeOffset.Now.ToUnixTimeSeconds().ToString()+TaskCode }
};
- string response = HttpHelper.Post(apiInfo.ApiAddress, hIKROBOTTaskContinue.Serialize(),headers: headers);
+ string response = HttpHelper.Post(apiInfo.ApiAddress, hIKROBOTTaskContinue.Serialize(), headers: headers);
hIKROBOTReturn = response.DeserializeObject<HIKROBOTReturn>();
-
+
if (hIKROBOTReturn.code == "SUCCESS")
{
var data = hIKROBOTReturn.data.ToString().DeserializeObject<HIKROBOTReturnData>();
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
index 9d4026f..b035582 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs"
@@ -83,7 +83,6 @@
break;
case "outbin"://绂诲紑璧风偣
{
-
///鍒ゆ柇浠诲姟鏄惁璺熻澶囨湁鍏�
TaskFromCompleted(task, deviceTypeEnum);
}
@@ -100,27 +99,27 @@
{
DeviceProDTO? deviceProDTO = device.DeviceProDTOs.FirstOrDefault((DeviceProDTO x) => x.DeviceProParamName == HoistEnum.Inboundboxon.ToString());
if (device.IsConnected)
- device.SetValue(HoistEnum.Inboundboxon, 1);//
+ device.SetValue(HoistEnum.Inboundboxon, 1);
else
task.ExceptionMessage = "鎻愬崌鏈轰俊鎭澶囪繛鎺ュけ璐�";
}
}
//鍑烘彁鍗囨満
- if (task.TaskType == TaskTypeEnum.CK3F.ObjToInt() && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
+ else if (task.TaskType == TaskTypeEnum.CK3F.ObjToInt() && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
{
var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
if (device == null) task.ExceptionMessage = "鏈壘鍒版彁鍗囨満淇℃伅";
else
{
if (device.IsConnected)
- device.SetValue(HoistEnum.Outboundboxon,1);//鍑哄簱瀹屾垚
+ device.SetValue(HoistEnum.Outboundboxon, 1);//鍑哄簱瀹屾垚
else
task.ExceptionMessage = "鎻愬崌鏈轰俊鎭澶囪繛鎺ュけ璐�";
}
}
//鍥涙ゼ 鍑哄簱
- if (task.TaskType == TaskTypeEnum.CHUKU1.ObjToInt() && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
+ else if ((task.TaskType == TaskTypeEnum.CHUKU1.ObjToInt() || task.TaskType == TaskTypeEnum.F04.ObjToInt()) && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
{
var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
if (device == null) task.ExceptionMessage = "鏈壘鍒版彁鍗囨満淇℃伅";
@@ -130,10 +129,10 @@
device.SetValue(HoistEnum.Emptyboxplacedinposition, 1);
else
task.ExceptionMessage = "鎻愬崌鏈轰俊鎭澶囪繛鎺ュけ璐�";
- }
+ }
}
//鍥涙ゼ 鍏ュ簱
- if (task.TaskType == TaskTypeEnum.Q1TSJ4.ObjToInt() && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
+ else if ((task.TaskType == TaskTypeEnum.Q1TSJ4.ObjToInt() || task.TaskType == TaskTypeEnum.F03.ObjToInt()) && task.TaskState == (int)TaskStatusEnum.AGV_ToExecute)
{
var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
if (device == null) task.ExceptionMessage = "鏈壘鍒版彁鍗囨満淇℃伅";
@@ -141,10 +140,10 @@
{
if (device.IsConnected)
//鍐欎互涓�涓嚭搴撳畬鎴愪俊鍙�
- device.SetValue(HoistEnum.Outboundboxretrievalcompleted,"1",task.SourceAddress);
+ device.SetValue(HoistEnum.Outboundboxretrievalcompleted, 1, task.SourceAddress);
else
task.ExceptionMessage = "鎻愬崌鏈轰俊鎭澶囪繛鎺ュけ璐�";
- }
+ }
}
}
break;
@@ -163,7 +162,6 @@
case "end"://浠诲姟瀹屾垚閫氱煡
{
///鍒ゆ柇浠诲姟鏄惁璺熻澶囨湁鍏�
-
TaskCompleted(task, deviceTypeEnum);
}
break;
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 297e7a7..f7b5dbf 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"
@@ -130,7 +130,7 @@
continue;
//throw new Exception($"鎵樼洏鍙枫�恵task.containerCode}銆戝凡瀛樺湪浠诲姟");
}
- if (BaseDal.QueryFirst(x => x.SourceAddress == task.fromLocationCode && x.TaskType == item.taskType) != null)
+ if (BaseDal.QueryFirst(x => x.SourceAddress == task.fromLocationCode && x.TaskType == item.taskType&&x.TaskState<TaskStatusEnum.TakeFinish.ObjToInt())!=null)
{
objects.Add(new
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs"
index f667d86..b0b4028 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TSJJob.cs"
@@ -69,7 +69,7 @@
continue;
//throw new Exception("璁惧鏁呴殰");
}
- if (task.TaskType == TaskTypeEnum.RK3F.ObjToInt()|| task.TaskType == TaskTypeEnum.Q1TSJ4.ObjToInt())
+ if (task.TaskType == TaskTypeEnum.RK3F.ObjToInt() || task.TaskType == TaskTypeEnum.CHUKU1.ObjToInt() || task.TaskType == TaskTypeEnum.F04.ObjToInt())
{
if (task.TaskType == TaskTypeEnum.RK3F.ObjToInt())
{
@@ -87,21 +87,15 @@
}
else
{
-
- #region 4妤煎叆搴�
- //4妤煎嚭搴撴枡绠卞埌浣�
- if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, task.SourceAddress) != 1)
+ if (device.GetValue<HoistEnum, short>(HoistEnum.ReturnbinAvailable, task.TargetAddress) != 2)
{
- if (task.ExceptionMessage != "4妤煎叆搴撴枡绠辨病鏈夊埌浣�")
+ if (task.ExceptionMessage != "4F鎻愬崌鏈哄叆鍙f湁璐�")
{
- task.ExceptionMessage = "4妤煎叆搴撴枡绠辨病鏈夊埌浣�";
+ task.ExceptionMessage = "4F鎻愬崌鏈哄叆鍙f湁璐�";
Uptasks.Add(task);
}
continue;
}
-
- #endregion
-
}
@@ -109,7 +103,7 @@
var result = _taskService.Hikvisiontaskscontinue(task.WMSTaskNum);
if (result.Status == false)
{
- if (task.ExceptionMessage!= result.Message)
+ if (task.ExceptionMessage != result.Message)
{
task.ExceptionMessage = result.Message;
Uptasks.Add(task);
@@ -123,62 +117,36 @@
//杩欓噷浠诲姟鍙樻垚浜咰heckPalletCodeing
}
- else if(task.TaskType == TaskTypeEnum.CK3F.ObjToInt()) //鍑哄簱
+ else if (task.TaskType == TaskTypeEnum.CK3F.ObjToInt() || task.TaskType == TaskTypeEnum.Q1TSJ4.ObjToInt() || task.TaskType == TaskTypeEnum.F03.ObjToInt()) //鍑哄簱
{
////鍑哄簱鏂欑缂撳瓨鏁伴噺(杩欎釜鏄簱鍖烘煡璇㈢殑鏃跺�欒鏌ヤ竴涓嬶紝杩旂粰wms)
//if (device.GetValue<HoistEnum, short>(HoistEnum.Outboundmaterialbox, "TSJ") == 0) throw new Exception("娌℃湁鍑哄簱鏂欑缂撳瓨鏁伴噺涓虹┖");
-
- //璇诲彇3妤煎嚭搴撴枡绠卞埌浣�
- if (device.GetValue<HoistEnum, short>(HoistEnum.SOutboundmaterialbox, task.SourceAddress) != 1)
+ if (task.TaskType == TaskTypeEnum.CK3F.ObjToInt())
{
- if (task.ExceptionMessage != "3妤煎嚭搴撴枡绠辨病鏈夊埌浣�")
+ //璇诲彇3妤煎嚭搴撴枡绠卞埌浣�
+ if (device.GetValue<HoistEnum, short>(HoistEnum.SOutboundmaterialbox, task.SourceAddress) != 1)
{
- task.ExceptionMessage = "3妤煎嚭搴撴枡绠辨病鏈夊埌浣�";
- Uptasks.Add(task);
+ if (task.ExceptionMessage != "3妤兼彁鍗囨満鍑哄彛鍏夌數鍙嶉鏃犺揣")
+ {
+ task.ExceptionMessage = "3妤兼彁鍗囨満鍑哄彛鍏夌數鍙嶉鏃犺揣";
+ Uptasks.Add(task);
+ }
+ continue;
}
- continue;
}
- //鐒跺悗璋冪敤杈撻�佺嚎鎺ュ彛锛岄�氱煡杈撻�佺嚎鏈夋枡绠遍渶瑕佸叆搴擄紝浠诲姟涓捐鎵ц
- var result = _taskService.Hikvisiontaskscontinue(task.WMSTaskNum);
- if (result.Status == false)
+ else
{
- if (task.ExceptionMessage != result.Message)
+ if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, task.SourceAddress) != 1)
{
- task.ExceptionMessage = result.Message;
- Uptasks.Add(task);
+ if (task.ExceptionMessage != "4妤兼彁鍗囨満鍑哄彛鍏夌數鍙嶉鏃犺揣")
+ {
+ task.ExceptionMessage = "4妤兼彁鍗囨満鍑哄彛鍏夌數鍙嶉鏃犺揣";
+ Uptasks.Add(task);
+ }
+ continue;
}
- continue;
}
- task.TaskState = (int)TaskStatusEnum.AGV_ToExecute;
- task.ExceptionMessage = "";
- Uptasks.Add(task);
- }
- else if (task.TaskType == TaskTypeEnum.CHUKU1.ObjToInt())//4妤煎嚭搴撲换鍔�
- {
-
- #region 鍑哄簱淇″彿
- //鍥炵┖绠辩殑鏃跺�欒璇讳竴涓悧
- if (device.GetValue<HoistEnum, string>(HoistEnum.Emptycontainernumber, task.TargetAddress) == null)
- {
- if (task.ExceptionMessage != "4妤肩┖绠�,璇荤爜鍣ㄦ病鏈夎鍒板��")
- {
- task.ExceptionMessage = "4妤肩┖绠�,璇荤爜鍣ㄦ病鏈夎鍒板��";
- Uptasks.Add(task);
- }
- continue;
- }
- //鍒ゆ柇4妤肩┖绠卞埌浣�
- if (device.GetValue<HoistEnum, short>(HoistEnum.ReturnbinAvailable, task.TargetAddress) != 2)
- {
- if (task.ExceptionMessage != "鎻愬崌鏈哄叆搴撶┖鏃犺揣")
- {
- task.ExceptionMessage = "鎻愬崌鏈哄叆搴撶┖鏃犺揣";
- Uptasks.Add(task);
- }
- continue;
- }
- #endregion
//鐒跺悗璋冪敤杈撻�佺嚎鎺ュ彛锛岄�氱煡杈撻�佺嚎鏈夋枡绠遍渶瑕佸叆搴擄紝浠诲姟涓捐鎵ц
var result = _taskService.Hikvisiontaskscontinue(task.WMSTaskNum);
if (result.Status == false)
@@ -190,21 +158,17 @@
}
continue;
}
-
task.TaskState = (int)TaskStatusEnum.AGV_ToExecute;
task.ExceptionMessage = "";
Uptasks.Add(task);
}
- //else if (task.TaskType == TaskTypeEnum.CHUKU1.ObjToInt()) //鍥涙ゼ搴撳唴鍒版彁鍗囨満
- //{
-
-
- //}
+
}
+ #region 鎵樼洏鍙风‘璁や腑
//鏌ユ壘涓夋ゼ鍏ュ簱浠诲姟鐘舵�佷负CheckPalletCodeing鐨勪换鍔℃墭鐩樺彿纭涓�
var RK3FTasks = _taskService.Repository.QueryFirst(x => x.TaskType == TaskTypeEnum.RK3F.ObjToInt() && x.TaskState == (int)TaskStatusEnum.CheckPalletCodeing);
- if (RK3FTasks!=null)
+ if (RK3FTasks != null)
{
var Barcode = device.SetValue<HoistEnum, short>(HoistEnum.Codereadingtriggered, 1);
//妫�鏌�3妤煎叆搴撶鍙锋槸澶氬皯锛岀劧鍚庝紶缁檞ms
@@ -235,6 +199,7 @@
RK3FTasks.TaskState = (int)TaskStatusEnum.CheckPalletCodeFinish;
Uptasks.Add(RK3FTasks);
}
+ #endregion
if (Uptasks.Count > 0)
{
_taskService.UpdateData(Uptasks);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs"
index 885f017..56833dd 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/ScheduledTaskJob.cs"
@@ -39,10 +39,10 @@
try
{
#region 涓夋ゼ鑷姩浠诲姟
- List<string> StationCodes = new() { "0321935CC0329515", "0321935CC0329015", "0321935CC0328485", "0321935CC0328005" };
+ List<string> StationCodes = new() { "0348840CC0315655", "0349350CC0315655" };
var stations = _StationInfoService.Repository.QueryData(x => StationCodes.Contains(x.StationCode));
#region 鍏ユ彁鍗囨満浠诲姟
- var station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock);
+ var station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock && x.IsOccupied == 0);
if (station != null)
{
var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
@@ -79,10 +79,10 @@
{
if (device.GetValue<HoistEnum, short>(HoistEnum.SOutboundmaterialbox, "TSJC3F") == 1)
{
- Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F");
+ Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC3F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/);
if (dt_Task == null)
{
- station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free);
+ station = stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0);
if (station != null)
{
var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
@@ -118,8 +118,89 @@
#endregion
+ #region 4F
+ List<string> stationCodes = new() { "0319882DD0312730", "0319882DD0313240" };
+ var Stations = _StationInfoService.Repository.QueryData(x => stationCodes.Contains(x.StationCode));
+ #region 鍏ユ彁鍗囨満浠诲姟
+ var Station = Stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.InStock && x.IsOccupied == 0);
+ if (Station != null)
+ {
+ var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+ Dt_Task dt_Task = new Dt_Task()
+ {
+ TaskNum = tasknum,
+ WMSTaskNum = "GP" + tasknum,
+ Grade = 60,
+ PalletCode = Station.PalletCode,
+ Roadway = "",
+ TaskState = (int)TaskStatusEnum.New,
+ TaskType = TaskTypeEnum.F04.ObjToInt(),
+ SourceAddress = Station.StationCode,
+ CurrentAddress = Station.StationCode,
+ NextAddress = "TSJR4F",
+ TargetAddress = "TSJR4F",
+ Creater = "WCS",
+ };
+ var content = _taskService.SendHIKROBOTTask(dt_Task);
+ if (content.Status)
+ {
+ dt_Task.TaskState = (int)TaskStatusEnum.Execut;
+ dt_Task.Dispatchertime = DateTime.Now;
+ Station.StationStatus = (int)LocationStatusEnum.OutLock;
+ _taskService.AddData(dt_Task);
+ _StationInfoService.UpdateData(Station);
+ }
+ }
+ #endregion
+
+ #region 鍑烘彁鍗囨満浠诲姟
+ device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "TSJ") as OtherDevice;
+ if (device != null && device.IsConnected)
+ {
+ if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1)
+ {
+ Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F" /*&& x.TaskState < TaskStatusEnum.TakeFinish.ObjToInt()*/);
+ if (dt_Task == null)
+ {
+ Station = Stations.FirstOrDefault(x => x.StationStatus == (int)LocationStatusEnum.Free && x.IsOccupied == 0);
+ if (Station != null)
+ {
+ var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+ dt_Task = new Dt_Task()
+ {
+ TaskNum = tasknum,
+ WMSTaskNum = "GP" + tasknum,
+ Grade = 60,
+ PalletCode = "LXM" + tasknum,
+ Roadway = "",
+ TaskState = (int)TaskStatusEnum.New,
+ TaskType = TaskTypeEnum.F03.ObjToInt(),
+ SourceAddress = "TSJC4F",
+ CurrentAddress = "TSJC4F",
+ NextAddress = Station.StationCode,
+ TargetAddress = Station.StationCode,
+ Creater = "WCS",
+ };
+ var content = _taskService.SendHIKROBOTTask(dt_Task);
+ if (content.Status)
+ {
+ dt_Task.TaskState = (int)TaskStatusEnum.Execut;
+ dt_Task.Dispatchertime = DateTime.Now;
+ Station.StationStatus = (int)LocationStatusEnum.InLock;
+ _taskService.AddData(dt_Task);
+ _StationInfoService.UpdateData(Station);
+ }
+ }
+ }
+ }
+ }
+ #endregion
+
+ #endregion
+
#region 鍥涙ゼ鑷姩浠诲姟
- List<string> LocationCodes = new() { "RGD0303A04041","RG0302A05041","RG0304A05041","RG0205A05031" };
+ //List<string> LocationCodes = new() { "RGD0303A04041", "RG0302A05041", "RG0304A05041", "RG0205A05031" };
+ List<string> LocationCodes = new() { "RGD0302A05041", "RGD0304A05041", "R3CG0106A04031", "RGD0307A05012" };
var hKLocationInfos = _HKLocationInfoService.Repository.QueryData(x => LocationCodes.Contains(x.LocationCode));
#region 鍏ユ彁鍗囨満浠诲姟
var hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.InStock);
@@ -154,46 +235,46 @@
#endregion
#region 鍑烘彁鍗囨満浠诲姟
- if (device != null && device.IsConnected)
- {
- if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1)
- {
- Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F");
- if (dt_Task == null)
- {
- hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free);
- if (hKLocation != null)
- {
- var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
- dt_Task = new Dt_Task()
- {
- TaskNum = tasknum,
- WMSTaskNum = "GP" + tasknum,
- Grade = 60,
- PalletCode = "LXM" + tasknum,
- Roadway = "",
- TaskState = (int)TaskStatusEnum.New,
- TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(),
- SourceAddress = "TSJC4F",
- CurrentAddress = "TSJC4F",
- NextAddress = hKLocation.LocationCode,
- TargetAddress = hKLocation.LocationCode,
- Creater = "WCS",
- };
- var content = _taskService.SendHIKROBOTTask(dt_Task);
- if (content.Status)
- {
- dt_Task.TaskState = (int)TaskStatusEnum.Execut;
- dt_Task.Dispatchertime = DateTime.Now;
- hKLocation.LocationStatus = (int)LocationStatusEnum.InLock;
- _taskService.AddData(dt_Task);
- _HKLocationInfoService.UpdateData(hKLocation);
- }
- }
- }
-
- }
- }
+ //if (device != null && device.IsConnected)
+ //{
+ // if (device.GetValue<HoistEnum, short>(HoistEnum.FOutboundmaterialbox, "TSJC4F") == 1)
+ // {
+ // Dt_Task dt_Task = _taskService.Repository.QueryFirst(x => x.SourceAddress == "TSJC4F");
+ // if (dt_Task == null)
+ // {
+ // hKLocation = hKLocationInfos.FirstOrDefault(x => x.LocationStatus == (int)LocationStatusEnum.Free);
+ // if (hKLocation != null)
+ // {
+ // var tasknum = _taskService.GetTaskNum(nameof(SequenceEnum.SeqTaskNum));
+ // dt_Task = new Dt_Task()
+ // {
+ // TaskNum = tasknum,
+ // WMSTaskNum = "GP" + tasknum,
+ // Grade = 60,
+ // PalletCode = "LXM" + tasknum,
+ // Roadway = "",
+ // TaskState = (int)TaskStatusEnum.New,
+ // TaskType = TaskTypeEnum.Q1TSJ4.ObjToInt(),
+ // SourceAddress = "TSJC4F",
+ // CurrentAddress = "TSJC4F",
+ // NextAddress = hKLocation.LocationCode,
+ // TargetAddress = hKLocation.LocationCode,
+ // Creater = "WCS",
+ // };
+ // var content = _taskService.SendHIKROBOTTask(dt_Task);
+ // if (content.Status)
+ // {
+ // dt_Task.TaskState = (int)TaskStatusEnum.Execut;
+ // dt_Task.Dispatchertime = DateTime.Now;
+ // hKLocation.LocationStatus = (int)LocationStatusEnum.InLock;
+ // _taskService.AddData(dt_Task);
+ // _HKLocationInfoService.UpdateData(hKLocation);
+ // }
+ // }
+ // }
+
+ // }
+ //}
#endregion
#endregion
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs"
index dcff586..53a2629 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs"
@@ -20,33 +20,33 @@
/// </summary>
public void SendNewTask()
{
- try
- {
- var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.New).ToList();
- if (newTasks.Count > 0)
- {
- #region 鏌ユ壘鍑箰澹换鍔�
- //var Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.MLInbound || x.TaskType == (int)TaskTypeEnum.MLOutbound).OrderByDescending(x => x.Grade).ToList();
- //if (Tasks.Count > 0) SendGALAXISTask(Tasks);
- #endregion
+ //try
+ //{
+ // var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.New).ToList();
+ // if (newTasks.Count > 0)
+ // {
+ // #region 鏌ユ壘鍑箰澹换鍔�
+ // //var Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.MLInbound || x.TaskType == (int)TaskTypeEnum.MLOutbound).OrderByDescending(x => x.Grade).ToList();
+ // //if (Tasks.Count > 0) SendGALAXISTask(Tasks);
+ // #endregion
- #region 鏌ユ壘RGV浠诲姟
- var Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPInbound).OrderByDescending(x => x.Grade).ToList();
- if (Tasks.Count > 0) SendRGVNewInTask(Tasks);
- Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPOutbound).OrderByDescending(x => x.Grade).ToList();
- if (Tasks.Count > 0) IsMoveTask(Tasks);
- #endregion
+ // #region 鏌ユ壘RGV浠诲姟
+ // var Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPInbound).OrderByDescending(x => x.Grade).ToList();
+ // if (Tasks.Count > 0) SendRGVNewInTask(Tasks);
+ // Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPOutbound).OrderByDescending(x => x.Grade).ToList();
+ // if (Tasks.Count > 0) IsMoveTask(Tasks);
+ // #endregion
- #region 鏌ユ壘娴峰悍AGV浠诲姟
- Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.F01 || x.TaskType == (int)TaskTypeEnum.RK3F || x.TaskType == (int)TaskTypeEnum.CK3F || x.TaskType == (int)TaskTypeEnum.Q1TSJ4 || x.TaskType == (int)TaskTypeEnum.STU0003 || x.TaskType == (int)TaskTypeEnum.F02 || x.TaskType == (int)TaskTypeEnum.CHUKU1 || x.TaskType == (int)TaskTypeEnum.Q3RK || x.TaskType == (int)TaskTypeEnum.Q3CK).OrderByDescending(x => x.Grade).ToList();
- if (Tasks.Count > 0) HIKROBOTTask(Tasks);
- #endregion
- }
- }
- catch (Exception ex)
- {
- WriteError(nameof(TaskJob), ex.Message, ex);
- }
+ // #region 鏌ユ壘娴峰悍AGV浠诲姟
+ // Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.F01 || x.TaskType == (int)TaskTypeEnum.RK3F || x.TaskType == (int)TaskTypeEnum.CK3F || x.TaskType == (int)TaskTypeEnum.Q1TSJ4 || x.TaskType == (int)TaskTypeEnum.STU0003 || x.TaskType == (int)TaskTypeEnum.F02 || x.TaskType == (int)TaskTypeEnum.CHUKU1 || x.TaskType == (int)TaskTypeEnum.Q3RK || x.TaskType == (int)TaskTypeEnum.Q3CK).OrderByDescending(x => x.Grade).ToList();
+ // if (Tasks.Count > 0) HIKROBOTTask(Tasks);
+ // #endregion
+ // }
+ //}
+ //catch (Exception ex)
+ //{
+ // WriteError(nameof(TaskJob), ex.Message, ex);
+ //}
}
#endregion
@@ -94,13 +94,13 @@
#endregion
#region 涓嬪彂澶栬鍏佽杩涘叆鐨勬捣搴稟GV浠诲姟
- Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.AGV_WaitToExecute).OrderByDescending(x => x.Grade).ToList();
- if (Tasks.Count > 0) SendAGVWaitToExecuteTask(Tasks);
+ //Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.AGV_WaitToExecute).OrderByDescending(x => x.Grade).ToList();
+ //if (Tasks.Count > 0) SendAGVWaitToExecuteTask(Tasks);
#endregion
#region 涓嬪彂鎵樼洏纭瀹屾垚鐨勬捣搴稟GV浠诲姟
- Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.CheckPalletCodeFinish).OrderByDescending(x => x.Grade).ToList();
- if (Tasks.Count > 0) SendAGVWaitToExecuteTask(Tasks);
+ //Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.CheckPalletCodeFinish).OrderByDescending(x => x.Grade).ToList();
+ //if (Tasks.Count > 0) SendAGVWaitToExecuteTask(Tasks);
#endregion
}
}
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\216\344\270\212\346\270\270\347\263\273\347\273\237\346\216\245\345\217\243\346\270\205\345\215\225/WMS\346\216\245\345\217\243\345\257\271\346\216\245\346\226\207\346\241\243_V2026324.docx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\216\344\270\212\346\270\270\347\263\273\347\273\237\346\216\245\345\217\243\346\270\205\345\215\225/WMS\346\216\245\345\217\243\345\257\271\346\216\245\346\226\207\346\241\243_V2026324.docx"
new file mode 100644
index 0000000..84cd017
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\216\344\270\212\346\270\270\347\263\273\347\273\237\346\216\245\345\217\243\346\270\205\345\215\225/WMS\346\216\245\345\217\243\345\257\271\346\216\245\346\226\207\346\241\243_V2026324.docx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\216\350\256\276\345\244\207\344\272\244\344\272\222\346\216\245\345\217\243/\346\265\267\345\272\267AGV/\351\253\230\346\231\256WCS.\346\265\267\345\272\267\345\215\217\350\256\256260323-1.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\216\350\256\276\345\244\207\344\272\244\344\272\222\346\216\245\345\217\243/\346\265\267\345\272\267AGV/\351\253\230\346\231\256WCS.\346\265\267\345\272\267\345\215\217\350\256\256260323-1.xlsx"
new file mode 100644
index 0000000..6272573
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\344\270\216\350\256\276\345\244\207\344\272\244\344\272\222\346\216\245\345\217\243/\346\265\267\345\272\267AGV/\351\253\230\346\231\256WCS.\346\265\267\345\272\267\345\215\217\350\256\256260323-1.xlsx"
Binary files differ
--
Gitblit v1.9.3