using FineUIPro;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public static class TwInputdetailService
{
#region 获取列表
///
/// 记录数
///
public static int Count
{
get;
set;
}
public static IQueryable GetByModle(Model.Tw_InOutDetailOutput table)
{
var q = from x in Funs.DB.Tw_InputDetail
join y in Funs.DB.HJGL_Pipeline_Component on x.PipelineComponentId equals y.PipelineComponentId into yy
from y in yy.DefaultIfEmpty()
join mat in Funs.DB.HJGL_MaterialCodeLib on x.MaterialCode equals mat.MaterialCode into mm
from mat in mm.DefaultIfEmpty()
where
(string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
(string.IsNullOrEmpty(table.InputMasterId) || x.InputMasterId.Contains(table.InputMasterId)) &&
(string.IsNullOrEmpty(table.PipelineComponentId) || x.PipelineComponentId.Contains(table.PipelineComponentId)) &&
(string.IsNullOrEmpty(table.MaterialCode) || x.MaterialCode.Contains(table.MaterialCode))
orderby x.SortIndex
select new Model.Tw_InOutDetailOutput
{
Id = x.Id,
InputMasterId = x.InputMasterId,
PipelineComponentId = x.PipelineComponentId,
MaterialCode = x.MaterialCode,
PlanNum = x.PlanNum,
ActNum = x.ActNum,
PipelineComponentCode = y.PipelineComponentCode,
MaterialName = mat.MaterialName,
MaterialDef = mat.MaterialDef,
SortIndex = x.SortIndex
}
;
return q;
}
///
/// 获取分页列表
///
///
///
///
public static IEnumerable GetListData(Model.Tw_InOutDetailOutput table, Grid grid1)
{
var q = GetByModle(table);
Count = q.Count();
if (Count == 0)
{
return null;
}
q = q.Skip(grid1.PageSize * grid1.PageIndex).Take(grid1.PageSize);
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
return from x in q
select x;
}
#endregion
public static Model.Tw_InputDetail GetById(string Id)
{
return Funs.DB.Tw_InputDetail.FirstOrDefault(x => x.Id == Id);
}
public static void Add(Model.Tw_InputDetail newtable)
{
Model.Tw_InputDetail table = new Model.Tw_InputDetail
{
Id = newtable.Id,
InputMasterId = newtable.InputMasterId,
PipelineComponentId = newtable.PipelineComponentId,
MaterialCode = newtable.MaterialCode,
PlanNum = newtable.PlanNum,
ActNum = newtable.ActNum,
SortIndex = newtable.SortIndex
};
Funs.DB.Tw_InputDetail.InsertOnSubmit(table);
Funs.DB.SubmitChanges();
}
public static void Update(Model.Tw_InputDetail newtable)
{
Model.Tw_InputDetail table = Funs.DB.Tw_InputDetail.FirstOrDefault(x => x.Id == newtable.Id);
if (table != null)
{
table.Id = newtable.Id;
table.InputMasterId = newtable.InputMasterId;
table.PipelineComponentId = newtable.PipelineComponentId;
table.MaterialCode = newtable.MaterialCode;
table.PlanNum = newtable.PlanNum;
table.ActNum = newtable.ActNum;
table.SortIndex = newtable.SortIndex;
Funs.DB.SubmitChanges();
}
}
public static void DeleteById(string Id)
{
Model.Tw_InputDetail table = Funs.DB.Tw_InputDetail.FirstOrDefault(x => x.Id == Id);
if (table != null)
{
TwInputdetailBarCodeService.DeleteByInputDetailId(Id);
Funs.DB.Tw_InputDetail.DeleteOnSubmit(table);
Funs.DB.SubmitChanges();
}
}
public static IEnumerable GePrintListByInputMasterIds(List inputMasterIds)
{
var q = from x in Funs.DB.Tw_InputDetail
join mat in Funs.DB.HJGL_MaterialCodeLib on x.MaterialCode equals mat.MaterialCode into mm
from mat in mm.DefaultIfEmpty()
join y in Funs.DB.Tw_InputMaster on x.InputMasterId equals y.Id
where inputMasterIds.Contains(x.InputMasterId)
orderby y.CusBillCode, x.SortIndex
select new
{
入库单编号 = y.CusBillCode,
材料编码 = x.MaterialCode,
材料名称 = mat.MaterialName,
材料描述 = mat.MaterialDef,
计划数量 = x.PlanNum,
实际数量 = x.ActNum,
};
return q;
}
}
}