查询料架亮灯
This commit is contained in:
@@ -11,5 +11,22 @@ namespace DOAN.Admin.WebApi.Controllers.PBL;
|
|||||||
public class BigScreenController : BaseController
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
30
DOAN.Model/PBL/Dto/BIgScreenDto.cs
Normal file
30
DOAN.Model/PBL/Dto/BIgScreenDto.cs
Normal 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; }
|
||||||
|
}
|
||||||
@@ -31,6 +31,12 @@ namespace DOAN.Model.PBL.Dto
|
|||||||
|
|
||||||
public int MaxCapacity { get; set; }
|
public int MaxCapacity { get; set; }
|
||||||
public int? PackageNum { get; set; }
|
public int? PackageNum { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱子数
|
||||||
|
/// </summary>
|
||||||
|
public int? IsLight { get; set; }
|
||||||
|
|
||||||
public string CreatedBy { get; set; }
|
public string CreatedBy { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,12 @@ namespace DOAN.Model.PBL
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnName = "package_num")]
|
[SugarColumn(ColumnName = "package_num")]
|
||||||
public int? PackageNum { get; set; }
|
public int? PackageNum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 箱子数
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "is_light")]
|
||||||
|
public int? IsLight { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建人
|
/// 创建人
|
||||||
|
|||||||
69
DOAN.Service/PBL/BigScreenService.cs
Normal file
69
DOAN.Service/PBL/BigScreenService.cs
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
9
DOAN.Service/PBL/IService/IBigScreenService.cs
Normal file
9
DOAN.Service/PBL/IService/IBigScreenService.cs
Normal 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();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user