From c0ac5d4281a2c83f794bf6f0e86291c4d695e53c Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 12 三月 2026 12:11:39 +0800
Subject: [PATCH] 1
---
项目资料/与上游系统接口清单/wms接口文档3-10(1).xlsx | 0
/dev/null | 0
项目资料/与设备交互接口/所需接口及问题点.xlsx | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs | 2
项目资料/与上游系统接口清单/接口地址.xlsx | 0
项目资料/与设备交互接口/~$所需接口及问题点.xlsx | 0
项目资料/与设备交互接口/海康AGV/高普WCS.海康协议260310.xlsx | 0
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Task/TaskExtend.cs | 73 +++++++++++++-----------
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskMethods.cs | 48 ++++++++++++++++
项目资料/项目图纸/货位编号.xlsx | 0
项目资料/与上游系统接口清单/WMS接口对接文档_V1.1.5.docx | 0
11 files changed, 89 insertions(+), 34 deletions(-)
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 948a204..b1e6b0f 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"
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Net.NetworkInformation;
using System.Reflection.Metadata;
using System.Text;
using System.Text.Json;
@@ -123,6 +124,10 @@
else if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.Puting)
{
TaskCompleted(task, deviceTypeEnum);
+ }
+ else if (task.TaskType == (int)TaskTypeEnum.CPInbound && !string.IsNullOrEmpty(task.ExceptionMessage))
+ {
+ ErrorTaskFeedback(task, !task.ExceptionMessage.Contains("澶栨澶辫触"));
}
else if (task.TaskType == (int)TaskTypeEnum.CPOutbound || task.TaskType == (int)TaskTypeEnum.CPMoveInventory)//鍑哄簱銆佺Щ搴撳畬鎴�
{
@@ -385,5 +390,48 @@
return WebResponseContent.Instance.OK();
}
#endregion
+ #region 澶辫触浠诲姟涓婃姤WMS骞跺垹闄や换鍔�
+ public WebResponseContent ErrorTaskFeedback(Dt_Task dt_Task, bool Del)
+ {
+ WebResponseContent content = new WebResponseContent();
+ WMSInOutBoundCompleteFeedback boundCompleteFeedback = new WMSInOutBoundCompleteFeedback();
+ WMSReturn agvContent = null;
+ try
+ {
+ Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSInOutBoundCompleteFeedback));
+ if (apiInfo == null) dt_Task.ExceptionMessage = "鏈壘鍒板嚭鍏ュ簱瀹屾垚鍙嶉WMS鎺ュ彛閰嶇疆淇℃伅锛佽妫�鏌ユ帴鍙i厤缃�";
+ else
+ {
+ boundCompleteFeedback.taskCode = dt_Task.WMSTaskNum;
+ boundCompleteFeedback.containerCode = dt_Task.PalletCode;
+ boundCompleteFeedback.fromStationCode = dt_Task.SourceAddress;
+ boundCompleteFeedback.toLocationCode = dt_Task.TargetAddress;
+ boundCompleteFeedback.status = 3;
+ boundCompleteFeedback.custStatus = "";
+ boundCompleteFeedback.memo = dt_Task.ExceptionMessage;
+ string response = HttpHelper.Post(apiInfo.ApiAddress, boundCompleteFeedback.Serialize());
+ agvContent = response.DeserializeObject<WMSReturn>();
+ content.OK(data: agvContent);
+ if (agvContent.code != 200)
+ {
+ dt_Task.ExceptionMessage = agvContent.message;
+ content.Error(agvContent.message);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ dt_Task.ExceptionMessage = ex.Message;
+ content.Error(ex.Message);
+ }
+ finally
+ {
+ _trackloginfoService.AddTrackLog(boundCompleteFeedback, content, "鍑哄叆搴撲换鍔$姸鎬佸弽棣圵MS", "", "");
+ if (agvContent != null && agvContent.code == 200 && Del) BaseDal.DeleteAndMoveIntoHty(dt_Task, OperateTypeEnum.鑷姩鍒犻櫎);
+ else BaseDal.UpdateData(dt_Task);
+ }
+ return content;
+ }
+ #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 fe25bfa..fee347e 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"
@@ -22,9 +22,7 @@
{
try
{
- var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskType == (int)TaskTypeEnum.CPInbound && x.TaskState == (int)TaskStatusEnum.WaiCheckShape).OrderByDescending(x => x.Grade).ToList();
- if (newTasks.Count > 0) SendRGVCheckShapeTask(newTasks);
- newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.New).ToList();
+ var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.New).ToList();
if (newTasks.Count > 0)
{
#region 鏌ユ壘鍑箰澹换鍔�
@@ -60,42 +58,51 @@
{
try
{
- #region 涓嬪彂澶栧舰妫�娴嬮�氳繃鐨勫洓鍚戣溅浠诲姟
- var Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingOk && string.IsNullOrEmpty(x.ExceptionMessage)).ToList();
- if (Tasks.Count > 0) SendCheckShapeingOkTask(Tasks);
- #endregion
+ var ExecutTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState != (int)TaskStatusEnum.New).ToList();
+ if (ExecutTasks.Count > 0)
+ {
+ #region 涓嬪彂寰呭褰㈡娴嬩换鍔�
+ var Tasks = ExecutTasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPInbound && x.TaskState == (int)TaskStatusEnum.WaiCheckShape).OrderByDescending(x => x.Grade).ToList();
+ if (Tasks.Count > 0) SendRGVCheckShapeTask(Tasks);
+ #endregion
- #region 涓嬪彂澶栧舰妫�娴嬪け璐ョ殑鍥涘悜杞︿换鍔�
- Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingNG).ToList();
- if (Tasks.Count > 0) SendCheckShapeingNGTask(Tasks);
- Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingOk && x.ExceptionMessage.Contains("鏈壘鍒扮粓鐐瑰簱鍖�")).ToList();
- if (Tasks.Count > 0) SendCheckShapeingNGTask(Tasks);
- #endregion
+ #region 涓嬪彂澶栧舰妫�娴嬮�氳繃鐨勫洓鍚戣溅浠诲姟
+ Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingOk && string.IsNullOrEmpty(x.ExceptionMessage)).OrderByDescending(x => x.Grade).ToList();
+ if (Tasks.Count > 0) SendCheckShapeingOkTask(Tasks);
+ #endregion
- #region 涓嬪彂鍥涘悜杞︽壒閲忕Щ搴撲换鍔�
- Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.RGV_NewMoveTask).ToList();
- if (Tasks.Count > 0) SendMoveTasks(Tasks);
- #endregion
+ #region 涓嬪彂澶栧舰妫�娴嬪け璐ョ殑鍥涘悜杞︿换鍔�
+ Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingNG).OrderByDescending(x => x.Grade).ToList();
+ if (Tasks.Count > 0) SendCheckShapeingNGTask(Tasks);
+ Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.CheckShapeingOk && x.ExceptionMessage.Contains("鏈壘鍒扮粓鐐瑰簱鍖�")).ToList();
+ if (Tasks.Count > 0) SendCheckShapeingNGTask(Tasks);
+ #endregion
- #region 澶勭悊寰呯Щ搴撳悗鍥涘悜杞﹀嚭搴撲换鍔�
- Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.RGV_WaitMoveToExecute).ToList();
- if (Tasks.Count > 0) MoveToExecuteTask(Tasks);
- #endregion
+ #region 涓嬪彂鍥涘悜杞︽壒閲忕Щ搴撲换鍔�
+ Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.RGV_NewMoveTask).ToList();
+ if (Tasks.Count > 0) SendMoveTasks(Tasks);
+ #endregion
- #region 涓嬪彂鍥涘悜杞﹀嚭搴撲换鍔�
- Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.RGV_WaitSend).ToList();
- if (Tasks.Count > 0) SendOutTask(Tasks);
- #endregion
+ #region 澶勭悊寰呯Щ搴撳悗鍥涘悜杞﹀嚭搴撲换鍔�
+ Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.RGV_WaitMoveToExecute).OrderByDescending(x => x.Grade).ToList();
+ if (Tasks.Count > 0) MoveToExecuteTask(Tasks);
+ #endregion
- #region 涓嬪彂澶栬鍏佽杩涘叆鐨勬捣搴稟GV浠诲姟
- Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.AGV_WaitToExecute).ToList();
- if (Tasks.Count > 0) SendAGVWaitToExecuteTask(Tasks);
- #endregion
+ #region 涓嬪彂鍥涘悜杞﹀嚭搴撲换鍔�
+ Tasks = ExecutTasks.Where(x => x.TaskState == (int)TaskStatusEnum.RGV_WaitSend).OrderByDescending(x => x.Grade).ToList();
+ if (Tasks.Count > 0) SendOutTask(Tasks);
+ #endregion
- #region 涓嬪彂鎵樼洏纭瀹屾垚鐨勬捣搴稟GV浠诲姟
- Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.CheckPalletCodeFinish).ToList();
- if (Tasks.Count > 0) SendAGVWaitToExecuteTask(Tasks);
- #endregion
+ #region 涓嬪彂澶栬鍏佽杩涘叆鐨勬捣搴稟GV浠诲姟
+ 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);
+ #endregion
+ }
}
catch (Exception ex)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
index 513fd44..1debf07 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/TestJob.cs"
@@ -80,7 +80,7 @@
else
{
task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt();
- task.ExceptionMessage = "璐ㄦ澶辫触";
+ task.ExceptionMessage = "澶栨澶辫触";
if (R_LeftOverWidthWarning) task.ExceptionMessage += ",宸﹁秴瀹�";
if (R_RightWideWarning) task.ExceptionMessage += ",鍙宠秴瀹�";
if (R_ExtremeWarning) task.ExceptionMessage += ",瓒呴珮";
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_V1.1.5.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_V1.1.5.docx"
index 7c02a07..7699cf8 100644
--- "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_V1.1.5.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_V1.1.5.docx"
Binary files differ
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\346\226\207\346\241\2433-10\0501\051.xlsx" "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\346\226\207\346\241\2433-10\0501\051.xlsx"
new file mode 100644
index 0000000..78ec2c7
--- /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\346\226\207\346\241\2433-10\0501\051.xlsx"
Binary files differ
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/\346\216\245\345\217\243\345\234\260\345\235\200.xlsx" "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/\346\216\245\345\217\243\345\234\260\345\235\200.xlsx"
index ff7949d..0533914 100644
--- "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/\346\216\245\345\217\243\345\234\260\345\235\200.xlsx"
+++ "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/\346\216\245\345\217\243\345\234\260\345\235\200.xlsx"
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\211\200\351\234\200\346\216\245\345\217\243\345\217\212\351\227\256\351\242\230\347\202\271.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\211\200\351\234\200\346\216\245\345\217\243\345\217\212\351\227\256\351\242\230\347\202\271.xlsx"
new file mode 100644
index 0000000..ca3b0de
--- /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\211\200\351\234\200\346\216\245\345\217\243\345\217\212\351\227\256\351\242\230\347\202\271.xlsx"
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\211\200\351\234\200\346\216\245\345\217\243\345\217\212\351\227\256\351\242\230\347\202\271.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\211\200\351\234\200\346\216\245\345\217\243\345\217\212\351\227\256\351\242\230\347\202\271.xlsx"
index 145f63e..0da240b 100644
--- "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\211\200\351\234\200\346\216\245\345\217\243\345\217\212\351\227\256\351\242\230\347\202\271.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\211\200\351\234\200\346\216\245\345\217\243\345\217\212\351\227\256\351\242\230\347\202\271.xlsx"
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\256260310.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\256260310.xlsx"
new file mode 100644
index 0000000..6eec148
--- /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\256260310.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/2F\351\235\242\346\226\231\345\272\223\0501\051.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/2F\351\235\242\346\226\231\345\272\223\0501\051.xlsx"
deleted file mode 100644
index b22df01..0000000
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/2F\351\235\242\346\226\231\345\272\223\0501\051.xlsx"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/\350\264\247\344\275\215\347\274\226\345\217\267.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/\350\264\247\344\275\215\347\274\226\345\217\267.xlsx"
new file mode 100644
index 0000000..65c56dd
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\241\271\347\233\256\345\233\276\347\272\270/\350\264\247\344\275\215\347\274\226\345\217\267.xlsx"
Binary files differ
--
Gitblit v1.9.3