diff --git a/WcsMain/ApiServe/Service/WmsService/ConveyService.cs b/WcsMain/ApiServe/Service/WmsService/ConveyService.cs
index 01c1eb8..96ff73b 100644
--- a/WcsMain/ApiServe/Service/WmsService/ConveyService.cs
+++ b/WcsMain/ApiServe/Service/WmsService/ConveyService.cs
@@ -20,32 +20,40 @@ public class ConveyService(DataBaseData dataBaseData, AppConveyTaskDao conveyTas
///
///
///
- public WmsApiResponse GetConveyTask(GetConveyTaskRequest request)
+ public WmsApiResponse GetConveyTask(List request)
{
- if(string.IsNullOrEmpty(request.VehicleNo) || request.TaskType == default || request.Locations == default || request.Locations.Length < 1)
+ foreach(var item in request)
{
- return WmsApiResponseFactory.RequestErr("存在必填项未填");
- }
- if (request.TaskGroup == default)
- {
- request.TaskGroup = dataBaseData.GetNewUUID2(); // 当任务组为空时生成一个新的
+ if (string.IsNullOrEmpty(item.VehicleNo) || item.TaskType == default || item.Locations == default || item.Locations.Length < 1)
+ {
+ return WmsApiResponseFactory.RequestErr("存在必填项未填");
+ }
+ if (item.TaskGroup == default)
+ {
+ item.TaskGroup = dataBaseData.GetNewUUID2(); // 当任务组为空时生成一个新的
+ }
}
List conveyTasks = [];
DateTime now = DateTime.Now;
- foreach(var location in request.Locations)
+ foreach (var item in request)
{
- conveyTasks.Add(new AppConveyTask
+ if (item.Locations == default) continue;
+ foreach (var location in item.Locations)
{
- TaskId = dataBaseData.GetNewUUID(),
- TaskGroup = request.TaskGroup,
- VehicleNo = request.VehicleNo,
- TaskType = request.TaskType,
- TaskStatus = (int)ConveyTaskStatusEnum.create,
- Location = location,
- CreatePerson = StaticData.StaticString.WMS,
- CreateTime = now,
- });
+ conveyTasks.Add(new AppConveyTask
+ {
+ TaskId = dataBaseData.GetNewUUID(),
+ TaskGroup = item.TaskGroup,
+ VehicleNo = item.VehicleNo,
+ TaskType = item.TaskType,
+ TaskStatus = (int)ConveyTaskStatusEnum.create,
+ Location = location,
+ CreatePerson = StaticData.StaticString.WMS,
+ CreateTime = now,
+ });
+ }
}
+
var insertResult = conveyTaskDao.Insert(conveyTasks);
return insertResult > 0 ? WmsApiResponseFactory.Success() : WmsApiResponseFactory.DataBaseErr();
}
diff --git a/WcsMain/Business/CommonAction/WCSTaskExecuteEvent.cs b/WcsMain/Business/CommonAction/WCSTaskExecuteEvent.cs
index a83da92..b79164d 100644
--- a/WcsMain/Business/CommonAction/WCSTaskExecuteEvent.cs
+++ b/WcsMain/Business/CommonAction/WCSTaskExecuteEvent.cs
@@ -102,6 +102,10 @@ public class WCSTaskExecuteEvent(TaskDao taskDao, SendWmsTaskStatus sendWmsTaskS
{
UpdateLocationInfo(task); // 更新库位的相关信息
HandleTaskData(task, msg); // 处理任务数据
+ if (task.IsFirstTask() && task.CreatePerson == StaticString.WMS)
+ {
+ sendWmsTaskStatus.SendTaskComplete(task.TaskId);
+ }
}
private void HandleTaskData(AppWcsTask task, string msg)