/// <summary>
/// 查询分页
/// </summary>
/// <param name="Params"></param>
/// <returns></returns>
[HttpPost]
[Route("Page")]
public IEnumerable<TBL_MouldPosition> Page([FromBody] Q_Base Params)
{
int totalCount = 0;
int pageId = Params.PageIndex;
int pageSize = Params.PageSize;
Expression<Func<TBL_MouldPosition, bool>> condition = null;
Expression<Func<TBL_MouldPosition, bool>> expr = null;
condition = a => a.DelFlag == (int)DelFlag.No;
if (!string.IsNullOrEmpty(Params.Name))//模具名称
{
var list = UnitOfWork.GetQuery<MST_MouldBase>().Where(t => t.MouldName.Contains(Params.Name.Trim())).Select(t=>t.Id);//根据模具名称模糊查询
expr = a => list.Contains(a.MouldBaseId);
condition = condition.And(expr);
}
if (!string.IsNullOrEmpty(Params.Code))//仓位名称
{
var list = UnitOfWork.GetQuery<MST_BaseItemEntity>().Where(t => t.Value.Contains(Params.Code.Trim())).Select(t => t.Id);//根据仓位名称模糊查询
expr = a => list.Contains(a.BaseItemEntityId);
condition = condition.And(expr);
}
IEnumerable<TBL_MouldPosition> baseForms = UnitOfWork.GetByPage<TBL_MouldPosition, double>(out totalCount, pageSize, pageId, a => a.OrderIndex, false, condition);
if (baseForms != null && baseForms.Any())
{
var entityList = UnitOfWork.GetQuery<MST_BaseItemEntity>().Where(t => t.DelFlag == (int)DelFlag.No);//获取所有模具类别
var mouldBaseList = UnitOfWork.GetQuery<MST_MouldBase>().Where(t => t.DelFlag == (int)DelFlag.No);//获取所有模具
foreach (TBL_MouldPosition item in baseForms)//遍历获取大类名称、类别名称
{
#region 获取模具信息
if (!string.IsNullOrEmpty(item.MouldBaseId) && mouldBaseList != null && mouldBaseList.Any())//获取模具信息
{
var mouldItem = mouldBaseList.FirstOrDefault(t => t.Id == item.MouldBaseId);
if (mouldItem != null)
{
if (!string.IsNullOrEmpty(mouldItem.K3FName))//物料名称
{
item.K3FName = mouldItem.K3FName;
}
if (!string.IsNullOrEmpty(mouldItem.K3FNumber))//物料编码
{
item.K3FNumber = mouldItem.K3FNumber;
}
if (!string.IsNullOrEmpty(mouldItem.MouldCategory))//大类名称
{
item.MouldCategoryName = entityList.FirstOrDefault(t => t.Id == mouldItem.MouldCategory) != null ? entityList.FirstOrDefault(t => t.Id == mouldItem.MouldCategory).Value : "";
}
if (!string.IsNullOrEmpty(mouldItem.MouldType))//类别名称
{
item.MouldTypeName = entityList.FirstOrDefault(t => t.Id == mouldItem.MouldType) != null ? entityList.FirstOrDefault(t => t.Id == mouldItem.MouldType).Value : "";
}
if (!string.IsNullOrEmpty(mouldItem.MouldNo))//模具编号名称
{
//DataTable dtK3 = ComLogic.ICItemData();
item.MouldNoName = mouldItem.MouldNo;
}
item.MouldName = mouldItem.MouldName;
}
}
#endregion
#region 获取仓位类别信息
if (!string.IsNullOrEmpty(item.BaseItemEntityId) && entityList != null && entityList.Any())
{
var entity = entityList.FirstOrDefault(t => t.Id == item.BaseItemEntityId);
if (entity != null)
{
item.MouldPositionName = entity.Value;
}
}
#endregion
}
}
return baseForms;
}