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)