Files
ww-jst/wmsjst/JSMachine.WMS.Business/RcsCallBack/ServiceImpl/StatePattern/PutdownCompleted/TransitAreaHandler.cs
T

56 lines
1.9 KiB
C#
Raw Normal View History

2026-09-02 16:31:50 +08:00
using JSMachine.WMS.App.Dto;
using JSMachine.WMS.App.Dto.Enum;
using JSMachine.WMS.App.IService;
using JSMachine.WMS.Business.SSE;
using JSMachine.WMS.RPC.RcsRPC.Dto.In;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static JSMachine.WMS.App.Dto.StorageRackDto;
namespace JSMachine.WMS.Business.RcsCallBack.ServiceImpl.StatePattern.PutdownCompleted
{
public class TransitAreaHandler : PutdownCompletedStateHandler
{
public TransitAreaHandler(
IStorageRackService storageRackService,
IAGVTaskService agvTaskService,
IElevatorPlcQueueService elevatorPlcQueueService,
IElevatorCountService elevatorCountService,
IERPTaskService erpTaskService) :
base(storageRackService, agvTaskService, elevatorPlcQueueService, elevatorCountService, erpTaskService)
{
}
public async override Task<bool> HandleAsync(AgvExcutionInfo agvExcutionInfo, AGVTaskDto agvTask, StorageRackDto destWarehouse)
{
//1.将物料绑定到目标库位
//2.解锁目标库位
//3.更改agv任务为完成
destWarehouse.BingdingMaterial(new MateriaInfo
{
BarCode = agvTask.BarCode,
MateriaBatch = agvTask.MateriaBatch,
MateriaCode = agvTask.MateriaCode,
MateriaName = agvTask.MateriaName,
MateriaNum = agvTask.MateriaNum.ToString(),
MateriaType = agvTask.MateriaType,
OrderNo = agvTask.OrderNo
});
destWarehouse.IsLock = false;
await _storageRackService.EditSingal(destWarehouse);
await CompleteTask(agvTask);
//发送广播通知前端网站刷新页面
SseEngine.BrodCast(agvTask.Floor.ToString());
return true;
}
}
}