<update>[important]修改WMS推送输送线任务为list

This commit is contained in:
葛林强 2024-07-20 08:58:36 +08:00
parent 2d635c7415
commit d8fb3797e1
2 changed files with 30 additions and 18 deletions

View File

@ -20,32 +20,40 @@ public class ConveyService(DataBaseData dataBaseData, AppConveyTaskDao conveyTas
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public WmsApiResponse GetConveyTask(GetConveyTaskRequest request)
public WmsApiResponse GetConveyTask(List<GetConveyTaskRequest> request)
{
if(string.IsNullOrEmpty(request.VehicleNo) || request.TaskType == default || request.Locations == default || request.Locations.Length < 1)
foreach(var item in request)
{
if (string.IsNullOrEmpty(item.VehicleNo) || item.TaskType == default || item.Locations == default || item.Locations.Length < 1)
{
return WmsApiResponseFactory.RequestErr("存在必填项未填");
}
if (request.TaskGroup == default)
if (item.TaskGroup == default)
{
request.TaskGroup = dataBaseData.GetNewUUID2(); // 当任务组为空时生成一个新的
item.TaskGroup = dataBaseData.GetNewUUID2(); // 当任务组为空时生成一个新的
}
}
List<AppConveyTask> conveyTasks = [];
DateTime now = DateTime.Now;
foreach(var location in request.Locations)
foreach (var item in request)
{
if (item.Locations == default) continue;
foreach (var location in item.Locations)
{
conveyTasks.Add(new AppConveyTask
{
TaskId = dataBaseData.GetNewUUID(),
TaskGroup = request.TaskGroup,
VehicleNo = request.VehicleNo,
TaskType = request.TaskType,
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();
}

View File

@ -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)