From 1986f6dc06aa72597c7c1e4796199f462956044d Mon Sep 17 00:00:00 2001
From: whm <2921535080@qq.com>
Date: Mon, 14 Oct 2024 14:04:36 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=86=85=E5=AE=B9=EF=BC=9A?=
=?UTF-8?q?=201.=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=8F=96?=
=?UTF-8?q?=E6=B6=88wms=E4=BB=BB=E5=8A=A1=202.=E6=9B=B4=E6=94=B9wms?=
=?UTF-8?q?=E6=9C=80=E5=A4=A7=E4=BB=BB=E5=8A=A1=E6=95=B0=E9=87=8F26=203.?=
=?UTF-8?q?=E6=A0=B9=E6=8D=AEPLC=E6=8F=90=E4=BE=9B=E7=9A=84=E6=95=B0?=
=?UTF-8?q?=E9=87=8F=E5=88=86=E9=85=8D=E5=89=8D=E5=90=8E=E5=8C=BA=E9=83=BD?=
=?UTF-8?q?=E6=9C=89=E4=BB=BB=E5=8A=A1=E7=9A=84=E7=AE=B1=E5=AD=90=E7=9A=84?=
=?UTF-8?q?=E5=8E=BB=E5=90=91=204.=E6=9B=B4=E6=94=B9=E6=8B=A3=E9=80=89?=
=?UTF-8?q?=E6=97=B6=E7=94=B5=E5=AD=90=E6=A0=87=E7=AD=BE=E4=B8=BA=E5=B8=B8?=
=?UTF-8?q?=E9=87=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../WmsController/ConveyController.cs | 9 ++++
.../WmsController/WmsTaskController.cs | 1 -
.../Service/WmsService/ConveyService.cs | 45 +++++++++++++++++++
.../Service/WmsService/WmsTaskService.cs | 11 +----
.../CommonAction/SendWmsTaskStatus.cs | 2 +
.../HisGetData/StackerOutC1.cs | 1 +
WcsMain/DataBase/Dao/AppConveyTaskDao.cs | 38 ++++++++++++++++
WcsMain/EquipOperation/ElTag/AtopOperation.cs | 2 +-
8 files changed, 98 insertions(+), 11 deletions(-)
diff --git a/WcsMain/ApiServe/Controllers/WmsController/ConveyController.cs b/WcsMain/ApiServe/Controllers/WmsController/ConveyController.cs
index 2129922..0b63702 100644
--- a/WcsMain/ApiServe/Controllers/WmsController/ConveyController.cs
+++ b/WcsMain/ApiServe/Controllers/WmsController/ConveyController.cs
@@ -28,4 +28,13 @@ public class ConveyController(ConveyService conveyService) : ControllerBase
[HttpPost("disposeVehicle")]
public WmsApiResponse DisposeVehicle([FromBody] DisposeVehicleRequest request) => conveyService.DisposeVehicle(request);
+
+ ///
+ /// 接收上位系统发过来的取消输送任务的指令
+ ///
+ ///
+ ///
+ [HttpPost("cancel")]
+ public WmsApiResponse CancelVehicle([FromBody] List request) => conveyService.CancelConveyTask(request);
+
}
diff --git a/WcsMain/ApiServe/Controllers/WmsController/WmsTaskController.cs b/WcsMain/ApiServe/Controllers/WmsController/WmsTaskController.cs
index aee7a4f..fbd9214 100644
--- a/WcsMain/ApiServe/Controllers/WmsController/WmsTaskController.cs
+++ b/WcsMain/ApiServe/Controllers/WmsController/WmsTaskController.cs
@@ -39,5 +39,4 @@ public class WmsTaskController(WmsTaskService wmsTaskService) : ControllerBase
///
[HttpPost("setStackerTaskNewDestination")]
public WmsApiResponse GetStackerTaskNewDestination([FromBody] GetStackerTaskNewDestinationRequest request) => wmsTaskService.GetStackerTaskNewDestination(request);
-
}
\ No newline at end of file
diff --git a/WcsMain/ApiServe/Service/WmsService/ConveyService.cs b/WcsMain/ApiServe/Service/WmsService/ConveyService.cs
index 26ab984..fdfbec0 100644
--- a/WcsMain/ApiServe/Service/WmsService/ConveyService.cs
+++ b/WcsMain/ApiServe/Service/WmsService/ConveyService.cs
@@ -70,4 +70,49 @@ public class ConveyService(DataBaseData dataBaseData, AppConveyTaskDao conveyTas
if(string.IsNullOrEmpty(writeResult)) return WmsApiResponseFactory.Success();
return WmsApiResponseFactory.Fail(writeResult);
}
+
+
+ ///
+ /// 取消wms的箱式线任务
+ ///
+ ///
+ ///
+ public WmsApiResponse CancelConveyTask(List request)
+ {
+ try
+ {
+ foreach (var item in request)
+ {
+ if (string.IsNullOrEmpty(item.VehicleNo) || item.TaskType == default || item.Locations == default || item.Locations.Length < 1)
+ {
+ return WmsApiResponseFactory.RequestErr("存在必填项未填");
+ }
+ //遍历所有点位
+ foreach (var location in item.Locations)
+ {
+ //生成删除的对象
+ var taskToDelete = new AppConveyTask
+ {
+ VehicleNo = item.VehicleNo,
+ Location = location
+ };
+ int deleteResult = conveyTaskDao.VehicledDelete(taskToDelete);
+ if (deleteResult > 0)
+ {
+ return WmsApiResponseFactory.Success("删除成功");
+ }
+ else
+ {
+ return WmsApiResponseFactory.DataBaseErr("删除失败");
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ ConsoleLog.Error(ex.ToString());
+ return WmsApiResponseFactory.Fail(ex);
+ }
+ return WmsApiResponseFactory.Success("没有找到匹配的记录");
+ }
}
diff --git a/WcsMain/ApiServe/Service/WmsService/WmsTaskService.cs b/WcsMain/ApiServe/Service/WmsService/WmsTaskService.cs
index 29ea4ea..fe905f5 100644
--- a/WcsMain/ApiServe/Service/WmsService/WmsTaskService.cs
+++ b/WcsMain/ApiServe/Service/WmsService/WmsTaskService.cs
@@ -7,6 +7,7 @@ using WcsMain.Business.CommonAction;
using WcsMain.Common;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
+using WcsMain.Enum.Convey;
using WcsMain.Enum.Stacker;
using WcsMain.ExtendMethod;
using WcsMain.Plugins;
@@ -28,7 +29,7 @@ public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDa
///
public WmsApiResponse> GetStackerTask(List request)
{
- if (request.Count < 1 || request.Count > 20) return WmsApiResponseFactory.RequestErr>(null, "请求的任务数量只能在 1 至 20 范围内");
+ if (request.Count < 1 || request.Count > 26) return WmsApiResponseFactory.RequestErr>(null, "请求的任务数量只能在 1 至 26 范围内");
List errRequest = []; // 存放错误的请求
/* 插入库存信息 */ // ---- 库存由WMS管理,数据库表也无需操作
List wmsTasks = [];
@@ -173,13 +174,5 @@ public class WmsTaskService(WmsTaskAction wmsTaskAction, AppWmsTaskDao wmsTaskDa
//
//
// }
-
-
-
-
}
-
-
-
-
}
\ No newline at end of file
diff --git a/WcsMain/Business/CommonAction/SendWmsTaskStatus.cs b/WcsMain/Business/CommonAction/SendWmsTaskStatus.cs
index fbd8b0a..d70f9c8 100644
--- a/WcsMain/Business/CommonAction/SendWmsTaskStatus.cs
+++ b/WcsMain/Business/CommonAction/SendWmsTaskStatus.cs
@@ -16,6 +16,8 @@ namespace WcsMain.Business.CommonAction;
public class SendWmsTaskStatus(AppWmsTaskDao wmsTaskDao, WmsWebApiPost wmsWebApiPost)
{
+
+
///
/// 发送 WMS 任务异常
///
diff --git a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerOutC1.cs b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerOutC1.cs
index 729eb9a..579a9c3 100644
--- a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerOutC1.cs
+++ b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerOutC1.cs
@@ -132,6 +132,7 @@ public class StackerOutC1(ConveyOperation conveyOperation, DataBaseData dataBase
// 比对两个区的箱子数量
var readResult_1 = CommonTool.Siemens.ReadInt16WithName($"数量1");
var readResult_2 = CommonTool.Siemens.ReadInt16WithName($"数量2");
+ ConsoleLog.Info($"前区箱子数量{readResult_1.Value},后区箱子数量{readResult_2.Value}");
if (readResult_1.Value >= readResult_2.Value)//前区数量多去后区
{
ConsoleLog.Info($"出库分流:{area} 箱码:{msg} 存在 1~5 站台任务且存在 6~9 区域任务");
diff --git a/WcsMain/DataBase/Dao/AppConveyTaskDao.cs b/WcsMain/DataBase/Dao/AppConveyTaskDao.cs
index 60b582d..f54232d 100644
--- a/WcsMain/DataBase/Dao/AppConveyTaskDao.cs
+++ b/WcsMain/DataBase/Dao/AppConveyTaskDao.cs
@@ -93,6 +93,44 @@ public class AppConveyTaskDao
}
}
+ ///
+ /// 删除数据,以主键为条件
+ ///
+ ///
+ ///
+ public int Delete(AppConveyTask appConveyTask)
+ {
+ try
+ {
+ var sqlFuc = CommonTool.DbServe.Deleteable(appConveyTask);
+ return sqlFuc.ExecuteCommand();
+ }
+ catch (Exception ex)
+ {
+ _ = ex;
+ return 0;
+ }
+ }
+
+ ///
+ /// 根据箱号和点位删除任务
+ ///
+ ///
+ ///
+ public int VehicledDelete(AppConveyTask appConveyTask)
+ {
+ try
+ {
+ var deleteResult = CommonTool.DbServe.Deleteable().Where(it => it.VehicleNo == appConveyTask.VehicleNo && it.Location == appConveyTask.Location).ExecuteCommand();
+ return deleteResult;
+ }
+ catch (Exception ex)
+ {
+ _ = ex;
+ return 0;
+ }
+ }
+
///
diff --git a/WcsMain/EquipOperation/ElTag/AtopOperation.cs b/WcsMain/EquipOperation/ElTag/AtopOperation.cs
index 2653bde..8a2f8a0 100644
--- a/WcsMain/EquipOperation/ElTag/AtopOperation.cs
+++ b/WcsMain/EquipOperation/ElTag/AtopOperation.cs
@@ -62,7 +62,7 @@ public class AtopOperation
///
///
///
- public Exception? ShowMsg(string? controllerDisplayName, int? tagId, string? value, LedColor ledColor = LedColor.Green, LedStatus ledStatus = LedStatus._0_5secblinking)
+ public Exception? ShowMsg(string? controllerDisplayName, int? tagId, string? value, LedColor ledColor = LedColor.Green, LedStatus ledStatus = LedStatus.LEDOn)
{
if (controllerDisplayName == default || tagId == default || value == default)
{