wcs_server_kate_suzhou/WcsMain/ApiServe/Service/WcsService/StackerConveyService.cs

71 lines
3.0 KiB
C#
Raw Normal View History

using Microsoft.CodeAnalysis.CSharp.Syntax;
using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.StackerConvey;
using WcsMain.ApiServe.Factory;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.EquipOperation.Convey;
using WcsMain.EquipOperation.StackerConvey;
using WcsMain.Plugins;
using WcsMain.WcsAttribute.AutoFacAttribute;
using static Dm.net.buffer.ByteArrayBuffer;
namespace WcsMain.ApiServe.Service.WcsService;
/// <summary>
/// 库前输送线的 Service
/// </summary>
[Service]
public class StackerConveyService(AppStackerConveyDao stackerConveyDao, ConveyOperation conveyOperation)
{
/// <summary>
/// 查询所有的库前输送线信息
/// </summary>
/// <returns></returns>
2024-06-25 12:03:41 +08:00
public WcsApiResponse<List<AppStackerConvey>> QueryStackerConveyInfo()
{
List<AppStackerConvey>? stackerConveys = stackerConveyDao.Query();
return stackerConveys == default ? WcsApiResponseFactory.DataBaseErr<List<AppStackerConvey>>() : WcsApiResponseFactory.Success(stackerConveys);
}
/// <summary>
/// 查询所有的库前输送线状态信息
/// </summary>
/// <returns></returns>
2024-06-25 12:03:41 +08:00
public WcsApiResponse<List<StackerConveyStatusResponse>> QueryStackerConveyStatus()
{
List<AppStackerConvey>? stackerConveys = stackerConveyDao.Query();
if(stackerConveys == default) return WcsApiResponseFactory.DataBaseErr<List<StackerConveyStatusResponse>>();
if(stackerConveys.Count == 0) return WcsApiResponseFactory.Fail<List<StackerConveyStatusResponse>>(default, "未找到库前输送机数据,请检查基础资料");
List<StackerConveyStatusResponse> responseData = [];
foreach (var stackerConvey in stackerConveys)
{
StackerConveyStatusResponse stackerConveyStatusResponse = ObjectCopy.CopyProperties<AppStackerConvey, StackerConveyStatusResponse>(stackerConvey);
// 读取允许取放货状态
// ---- 取货站台
if (stackerConvey.LocationType == 1)
{
stackerConveyStatusResponse.AllowAction = conveyOperation.AllowGetVehicle(stackerConvey.WcsLocation![..1]);
stackerConveyStatusResponse.Message = "查询成功";
// 读取条码
(string? errText, string? code) = conveyOperation.ReadConveyCode(stackerConvey.WcsLocation);
if (!string.IsNullOrEmpty(errText))
{
stackerConveyStatusResponse.Message = errText;
}
stackerConveyStatusResponse.Code = code;
}
if(stackerConvey.LocationType == 2)
{
stackerConveyStatusResponse.AllowAction = conveyOperation.AllowSetVehicle(stackerConvey.WcsLocation![..1]);
stackerConveyStatusResponse.Code = "-";
}
responseData.Add(stackerConveyStatusResponse);
}
return WcsApiResponseFactory.Success(responseData);
}
}