71 lines
3.1 KiB
C#
71 lines
3.1 KiB
C#
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>
|
|
public WcsApiResponse<List<AppStackerConvey>> QueryStackerConveyInfo()
|
|
{
|
|
List<AppStackerConvey>? stackerConveys = stackerConveyDao.Query();
|
|
return stackerConveys == default ? WcsApiResponseFactory.DataBaseErr<List<AppStackerConvey>>() : WcsApiResponseFactory.Success(stackerConveys);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询所有的库前输送线状态信息
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
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);
|
|
}
|
|
|
|
}
|