From 733c975cd8647f6d006736f1863bad731e32e6fb Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期日, 26 十月 2025 17:15:52 +0800
Subject: [PATCH] 上传最新代码,ERP接口,MES接口优化,WMS业务优化等
---
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/AGV_CPExtend.cs | 71 ++++++++++++++++++++++++++++++++++-
1 files changed, 68 insertions(+), 3 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs"
index 85f37d2..aafff19 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/AGV_CPExtend.cs"
@@ -22,7 +22,7 @@
{
try
{
- var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => (x.TaskState == TaskStatusEnum.AGV_Execute.ObjToInt()|| x.TaskState == TaskStatusEnum.New.ObjToInt()) && x.DeviceCode=="AGV" && x.TaskType!=999).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
+ var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => (x.TaskState == TaskStatusEnum.AGV_Execute.ObjToInt()|| x.TaskState == TaskStatusEnum.New.ObjToInt()) && x.DeviceCode=="AGV").ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList();
if (newTasks.Count>0)
{
@@ -38,6 +38,16 @@
MapCode="01",
Variables=new List<PointDetail>()
};
+ if (task.NextAddress== "涓�妤兼湀鍙扮爜澶�")
+ {
+ string? address =_taskService.RequestTargetAddress(task.TaskNum);
+ if (address.IsNullOrEmpty())
+ {
+ task.ExceptionMessage = "鏈壘鍒癆GV绔欑偣";
+ continue;
+ }
+ task.NextAddress = address;
+ }
Dt_StationManger stationMangerStart = _stationMangerRepository.QueryFirst(x=>x.StationCode==task.CurrentAddress);
Dt_StationManger stationMangerEnd = _stationMangerRepository.QueryFirst(x => x.StationCode == task.NextAddress);
//娣诲姞浠诲姟璺緞鍙婇珮搴�
@@ -48,6 +58,7 @@
Code= "GoodPoint",
Value=stationMangerStart.AGVStationCode
};
+ //鍒ゆ柇鏄惁鏈夊墠缃偣
if (!string.IsNullOrEmpty(stationMangerStart.AGVFrontCode))
{
PointDetail pointDetail2 = new PointDetail()
@@ -62,7 +73,8 @@
Code = "PointB",
Value = stationMangerEnd.AGVStationCode
};
- if (!string.IsNullOrEmpty(stationMangerStart.AGVFrontCode))
+ //鍒ゆ柇鏄惁鏈夊墠缃偣
+ if (!string.IsNullOrEmpty(stationMangerEnd.AGVFrontCode))
{
PointDetail pointDetail4 = new PointDetail()
{
@@ -90,13 +102,65 @@
{
throw new Exception("鏈壘鍒癆GV绔欑偣");
}
+ //鍙栨斁浠诲姟妯$増
+ if (stationMangerStart.StationCode.Contains("PNT") && !stationMangerEnd.StationCode.Contains("PNT"))//璇锋眰鏀�
+ {
+ agvTaskSend.TaskCode = "DUIGAO1";
+ if (stationMangerStart.StationType == 998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
+ {
+ agvTaskSend.TaskCode = "DUOLUN1";
+ }
+ }
+ else if (!stationMangerStart.StationCode.Contains("PNT") && stationMangerEnd.StationCode.Contains("PNT"))//璇锋眰鍙�
+ {
+ agvTaskSend.TaskCode = "DUIGAO2";
+ if (stationMangerStart.StationType==998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
+ {
+ agvTaskSend.TaskCode = "DUOLUN2";
+ }
+ }
+ else if (!stationMangerStart.StationCode.Contains("PNT") && !stationMangerEnd.StationCode.Contains("PNT"))//璇锋眰鍙栨斁
+ {
+ agvTaskSend.TaskCode = "DUIGAO3";
+ if (stationMangerStart.StationType == 998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
+ {
+ agvTaskSend.TaskCode = "DUOLUN3";
+ }
+ }
+ else if (stationMangerStart.StationCode.Contains("PNT") && stationMangerEnd.StationCode.Contains("PNT"))//鏃犺姹�
+ {
+ agvTaskSend.TaskCode = "DUIGAO4";
+ if (stationMangerStart.StationType == 998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
+ {
+ agvTaskSend.TaskCode = "DUOLUN4";
+ }
+ }
+ if (stationMangerStart.StationType == 998 || stationMangerEnd.StationType == 998)//娼滀紡椤跺崌杞�
+ {
+ agvTaskSend.Variables.FirstOrDefault(x => x.Code == "FHMH").Value = "0";
+ agvTaskSend.Variables.FirstOrDefault(x => x.Code == "GoodPoint").Value = "";
+ //涓嬪彂浠诲姟AGV浠诲姟闆嗙兢
+ agvTaskSend.AgvGroupCode = "QianF";
+ PointDetail pointDetail2 = new PointDetail()
+ {
+ Code = "CostPoint",
+ Value = stationMangerStart.AGVStationCode
+ };
+ agvTaskSend.Variables.Add(pointDetail2);
+ }
+ if (task.TaskType==TaskTypeEnum.OutCarton.ObjToInt())
+ {
+ agvTaskSend.AgvGroupCode = "GAOc";
+ }
+ //寤舵椂
+ Thread.Sleep(500);
//鍙戦�丄GV浠诲姟
WebResponseContent content = _taskService.AgvSendTask(agvTaskSend, APIEnum.AgvSendTask);
if (!content.Status)
throw new Exception(content.Message);
task.Dispatchertime = DateTime.Now;
_taskService.UpdateTask(task, TaskStatusEnum.AGV_Executing);
- Thread.Sleep(500);
+ Thread.Sleep(200);
}
catch (Exception ex)
{
@@ -104,6 +168,7 @@
task.ExceptionMessage = ex.Message;
}
}
+ //鏇存柊浠诲姟
if (newTasks.Count > 0)
{
_taskService.UpdateData(newTasks);
--
Gitblit v1.9.3