查询料架亮灯

This commit is contained in:
qianhao.xu
2024-11-01 17:00:01 +08:00
parent ced8e31bd4
commit a008a174a9
6 changed files with 137 additions and 0 deletions

View File

@@ -11,5 +11,22 @@ namespace DOAN.Admin.WebApi.Controllers.PBL;
public class BigScreenController : BaseController
{
private readonly IBigScreenService _BigScreenService;
public BigScreenController(IBigScreenService _BigScreenService)
{
this._BigScreenService = _BigScreenService;
}
//TODO 查询料架灯 亮和灭 情况
public IActionResult SearchShelfLightInfomation()
{
var response = _BigScreenService.SearchShelfLightInfomation();
return SUCCESS(response);
}
}

View File

@@ -0,0 +1,30 @@
namespace DOAN.Model.PBL.Dto;
public class BIgScreenDto
{
//料架号
public string RackCode { get; set; }
//
public LayerObject[] LayerObjectArray { get; set; }
//是否亮灯
public bool isLight { get; set; }
}
public class LayerObject
{
// 层号
public int LayerNum { get; set; }
// 零件号
public string Partnumber { get; set; }
// 最大容量
public int MaxCapacity { get; set; }
// 箱子数
public int? PackageNum { get; set; }
//是否亮灯
public bool isLight { get; set; }
}

View File

@@ -32,6 +32,12 @@ namespace DOAN.Model.PBL.Dto
public int MaxCapacity { get; set; }
public int? PackageNum { get; set; }
/// <summary>
/// 箱子数
/// </summary>
public int? IsLight { get; set; }
public string CreatedBy { get; set; }
public DateTime? CreatedTime { get; set; }

View File

@@ -41,6 +41,12 @@ namespace DOAN.Model.PBL
[SugarColumn(ColumnName = "package_num")]
public int? PackageNum { get; set; }
/// <summary>
/// 箱子数
/// </summary>
[SugarColumn(ColumnName = "is_light")]
public int? IsLight { get; set; }
/// <summary>
/// 创建人
/// </summary>

View File

@@ -0,0 +1,69 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model.PBL.Dto;
using DOAN.Model.PBL;
using DOAN.Repository;
using DOAN.Service.PBL.IService;
namespace DOAN.Service.PBL
{
[AppService(ServiceType = typeof(IBigScreenService), ServiceLifetime = LifeTime.Transient)]
public class BigScreenService : BaseService<Storagelocation>, IBigScreenService
{
/// <summary>
/// 查询料架灯 亮和灭 情况
/// </summary>
/// <returns></returns>
public List<BIgScreenDto> SearchShelfLightInfomation()
{
List<BIgScreenDto> result = new List<BIgScreenDto>();
// 1 查询所有料架
string[] RackCodeArray= Context.Queryable<Storagelocation>().GroupBy(it=>it.RackCode).Select(it=>it.RackCode).OrderBy(it=>it).ToArray();
List<Storagelocation> DataSoure= Context.Queryable<Storagelocation>().ToList();
//2 查询每个料架层
for (int i = 0; i < RackCodeArray.Length; i++)
{
BIgScreenDto RackCodeObject = new BIgScreenDto();
RackCodeObject.RackCode = RackCodeArray[i];
List<Storagelocation> LayerSheelfList= DataSoure.Where(it => it.RackCode == RackCodeArray[i]).ToList();
LayerObject[] LayerObjectfArray =new LayerObject[LayerSheelfList.Count];
if (LayerSheelfList != null && LayerSheelfList.Count > 0)
{
for (int j = 0; j < LayerSheelfList.Count; j++)
{
LayerObjectfArray[j].LayerNum=LayerSheelfList[j].LayerNum;
LayerObjectfArray[j].Partnumber=LayerSheelfList[j].Partnumber;
LayerObjectfArray[j].MaxCapacity=LayerSheelfList[j].MaxCapacity;
LayerObjectfArray[j].PackageNum=LayerSheelfList[j].PackageNum;
LayerObjectfArray[j].isLight=LayerSheelfList[j].IsLight==1?true:false;
}
for (int j = 0; j < LayerSheelfList.Count; j++)
{
RackCodeObject.isLight = false;
if (LayerSheelfList[j].IsLight == 1)
{
RackCodeObject.isLight = true;
break;
}
}
}
RackCodeObject.LayerObjectArray= LayerObjectfArray;
result.Add(RackCodeObject);
}
return result;
}
}
}

View File

@@ -0,0 +1,9 @@
using DOAN.Model.PBL;
using DOAN.Model.PBL.Dto;
namespace DOAN.Service.PBL.IService;
public interface IBigScreenService : IBaseService<Storagelocation>
{
List<BIgScreenDto> SearchShelfLightInfomation();
}