using WcsMain.ApiServe.Controllers.Dto.WMSEntity; using WcsMain.ApiServe.Controllers.Dto.WMSEntity.Convey; using WcsMain.ApiServe.Factory; using WcsMain.DataBase.Dao; using WcsMain.DataBase.TableEntity; using WcsMain.DataService; using WcsMain.Enum.Convey; using WcsMain.WcsAttribute.AutoFacAttribute; namespace WcsMain.ApiServe.Service.WmsService; [Service] public class ConveyService(DataBaseData dataBaseData, AppConveyTaskDao conveyTaskDao) { private readonly DataBaseData _databseData = dataBaseData; private readonly AppConveyTaskDao _conveyTaskDao = conveyTaskDao; /// /// 接收WMS发送过来的输送线任务 /// /// /// public WmsApiResponse GetConveyTask(GetConveyTaskRequest request) { if(string.IsNullOrEmpty(request.VehicleNo) || request.TaskType == default || request.Locations == default || request.Locations.Length < 1) { return WmsApiResponseFactory.RequestErr("存在必填项未填"); } if (request.TaskGroup == default) { request.TaskGroup = _databseData.GetNewUUID2(); // 当任务组为空时生成一个新的 } List conveyTasks = []; DateTime now = DateTime.Now; foreach(var location in request.Locations) { conveyTasks.Add(new AppConveyTask { TaskId = _databseData.GetNewUUID(), TaskGroup = request.TaskGroup, VehicleNo = request.VehicleNo, TaskType = request.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(); } }