pblbackend/DOAN.Service/PBL/BigScreenService.cs

116 lines
4.4 KiB
C#
Raw Normal View History

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