<add>[important]添加接口给WMS释放箱式线箱子

This commit is contained in:
葛林强 2024-06-15 15:32:19 +08:00
parent ed386af29e
commit 66c6b0789a
4 changed files with 47 additions and 8 deletions

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace WcsMain.ApiServe.Controllers.Dto.WMSEntity.Convey;
public class DisposeVehicleRequest
{
/// <summary>
/// 点位
/// </summary>
[JsonPropertyName("location")]
public string? Location { get; set;}
}

View File

@ -21,9 +21,9 @@ public class ConveyController(ConveyService conveyService) : ControllerBase
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("conveyTask")]
public WmsApiResponse GetConveyTask([FromBody] GetConveyTaskRequest request)
{
return _conveyService.GetConveyTask(request);
}
public WmsApiResponse GetConveyTask([FromBody] GetConveyTaskRequest request) => _conveyService.GetConveyTask(request);
[HttpPost("disposeVehicle")]
public WmsApiResponse DisposeVehicle([FromBody] DisposeVehicleRequest request) => _conveyService.DisposeVehicle(request);
}

View File

@ -1,19 +1,23 @@
using WcsMain.ApiServe.Controllers.Dto.WMSEntity;
using System.Configuration;
using WcsMain.ApiServe.Controllers.Dto.WMSEntity;
using WcsMain.ApiServe.Controllers.Dto.WMSEntity.Convey;
using WcsMain.ApiServe.Factory;
using WcsMain.Common;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.DataService;
using WcsMain.Enum.Convey;
using WcsMain.EquipOperation.Convey;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.ApiServe.Service.WmsService;
[Service]
public class ConveyService(DataBaseData dataBaseData, AppConveyTaskDao conveyTaskDao)
public class ConveyService(DataBaseData dataBaseData, AppConveyTaskDao conveyTaskDao, ConveyOperation conveyOperation)
{
private readonly DataBaseData _databseData = dataBaseData;
private readonly AppConveyTaskDao _conveyTaskDao = conveyTaskDao;
private readonly ConveyOperation _conveyOperation = conveyOperation;
/// <summary>
/// 接收WMS发送过来的输送线任务
@ -49,4 +53,17 @@ public class ConveyService(DataBaseData dataBaseData, AppConveyTaskDao conveyTas
var insertResult = _conveyTaskDao.Insert(conveyTasks);
return insertResult > 0 ? WmsApiResponseFactory.Success() : WmsApiResponseFactory.DataBaseErr();
}
/// <summary>
/// 释放输送线任务
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public WmsApiResponse DisposeVehicle(DisposeVehicleRequest request)
{
if(string.IsNullOrEmpty(request.Location)) return WmsApiResponseFactory.RequestErr("存在必填项未填");
var writeResult = _conveyOperation.DisposeVehicle(request.Location);
if(string.IsNullOrEmpty(writeResult)) return WmsApiResponseFactory.Success();
return WmsApiResponseFactory.Fail(writeResult);
}
}

View File

@ -124,8 +124,17 @@ public class ConveyOperation
public string WriteTask(string? equipmentId, int plcId, short router) => WriteTask(equipmentId, new ConveyPLCTask(plcId, router));
/// <summary>
/// 释放指定位置的箱子
/// </summary>
/// <param name="conveyId"></param>
/// <returns></returns>
public string DisposeVehicle(string? conveyId)
{
if (!CommonData.IsConnectPlc || CommonTool.Siemens == default) return "PLC尚未连接。";
var (writeResult, _) = CommonTool.Siemens.WritePlcWhithName($"箱式线释放{conveyId}", (short)1);
return writeResult.Success ? string.Empty : writeResult.Message ?? "写入失败,未知原因";
}