53 lines
2.0 KiB
C#
53 lines
2.0 KiB
C#
|
|
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.TaskEnum;
|
|||
|
|
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;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 接收WMS发送过来的输送线任务
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="request"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
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<AppConveyTask> 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();
|
|||
|
|
}
|
|||
|
|
}
|