查询一次合格品仓库列表
This commit is contained in:
@@ -11,12 +11,13 @@ namespace ZR.Service.mes.wms.IService
|
|||||||
{
|
{
|
||||||
WmOneTimeInventoryTableDto GetList(WmOneTimeInventoryQueryDto parm);
|
WmOneTimeInventoryTableDto GetList(WmOneTimeInventoryQueryDto parm);
|
||||||
|
|
||||||
/// <summary>
|
WmOneTimeInventoryTableDto GetListNew(WmOneTimeInventoryQueryDto parm);
|
||||||
/// 一次合格导出
|
/// <summary>
|
||||||
/// </summary>
|
/// 一次合格导出
|
||||||
/// <param name="parm"></param>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <param name="parm"></param>
|
||||||
List<WmOneTimeInventoryExportDto> GetExportList(WmOneTimeInventoryQueryDto parm);
|
/// <returns></returns>
|
||||||
|
List<WmOneTimeInventoryExportDto> GetExportList(WmOneTimeInventoryQueryDto parm);
|
||||||
|
|
||||||
WmOneTimeInventory GetInfo(string Id);
|
WmOneTimeInventory GetInfo(string Id);
|
||||||
|
|
||||||
|
|||||||
@@ -231,12 +231,125 @@ namespace ZR.Service.mes.wms
|
|||||||
return response;*/
|
return response;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取详情
|
|
||||||
/// </summary>
|
/// <summary>
|
||||||
/// <param name="Id"></param>
|
/// 查询一次合格品仓库列表
|
||||||
/// <returns></returns>
|
/// </summary>
|
||||||
public WmOneTimeInventory GetInfo(string Id)
|
/// <param name="parm"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public WmOneTimeInventoryTableDto GetListNew(WmOneTimeInventoryQueryDto parm)
|
||||||
|
{
|
||||||
|
var list = Context
|
||||||
|
.Queryable<WmMaterial>()
|
||||||
|
.LeftJoin<WmOneTimeInventory>((m, p) => m.Partnumber == p.Partnumber)
|
||||||
|
.Distinct()
|
||||||
|
.WhereIF(
|
||||||
|
!string.IsNullOrEmpty(parm.Description),
|
||||||
|
(m, p) => m.Description.Contains(parm.Description)
|
||||||
|
)
|
||||||
|
.WhereIF(
|
||||||
|
!string.IsNullOrEmpty(parm.Partnumber),
|
||||||
|
(m, p) => m.Partnumber.Contains(parm.Partnumber)
|
||||||
|
)
|
||||||
|
.Where((m, p) => m.Status == 1)
|
||||||
|
.Where((m, p) => m.Type == 1)
|
||||||
|
// .WhereIF(string.IsNullOrEmpty(parm.Partnumber), (m, p) => p.Status == 1)
|
||||||
|
.OrderBy((m, p) => m.Description)
|
||||||
|
.Select(
|
||||||
|
(m, p) =>
|
||||||
|
new WmOneTimeInventoryDto
|
||||||
|
{
|
||||||
|
RealQuantity = 0,
|
||||||
|
Partnumber = m.Partnumber,
|
||||||
|
Color = m.Color,
|
||||||
|
Specification = m.Specification,
|
||||||
|
Description = m.Description,
|
||||||
|
Id = p.Id ?? m.Id,
|
||||||
|
BlankNum = p.BlankNum,
|
||||||
|
Quantity = p.Quantity ?? 0,
|
||||||
|
MaxNum = p.MaxNum,
|
||||||
|
MinNum = p.MinNum,
|
||||||
|
WarnNum = p.WarnNum,
|
||||||
|
Type = p.Type ?? 1,
|
||||||
|
Status = p.Status,
|
||||||
|
Remark = p.Remark,
|
||||||
|
CreatedBy = p.CreatedBy,
|
||||||
|
CreatedTime = p.CreatedTime,
|
||||||
|
UpdatedBy = p.UpdatedBy,
|
||||||
|
UpdatedTime = p.UpdatedTime,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
.ToList();
|
||||||
|
//TODO 取出库存表 WmOneTimeInventory 最小CreatedTime时间
|
||||||
|
DateTime minDateTime =
|
||||||
|
Context
|
||||||
|
.Queryable<WmOneTimeInventory>()
|
||||||
|
.OrderBy(it => it.CreatedTime)
|
||||||
|
.Select(it => it.CreatedTime)
|
||||||
|
.First() ?? DateTime.Now;
|
||||||
|
//TODO 根据时间范围取出所有记录数据
|
||||||
|
List<WmOneTimeRecord> wmOneTimeRecords = Context
|
||||||
|
.Queryable<WmOneTimeRecord>()
|
||||||
|
//.Where(it => it.Code == "自动")
|
||||||
|
.Where(it => it.ActionTime >= minDateTime)
|
||||||
|
.ToList();
|
||||||
|
foreach (WmOneTimeInventoryDto item in list)
|
||||||
|
{
|
||||||
|
int? runum = wmOneTimeRecords
|
||||||
|
.Where(o =>
|
||||||
|
o.ActionTime >= item.CreatedTime
|
||||||
|
&& o.Partnumber == item.Partnumber
|
||||||
|
&& o.ChangeType == 1
|
||||||
|
)
|
||||||
|
.Select(o => o.ChangeQuantity)
|
||||||
|
.Sum();
|
||||||
|
int? chunum = wmOneTimeRecords
|
||||||
|
.Where(o =>
|
||||||
|
o.ActionTime >= item.CreatedTime
|
||||||
|
&& o.Partnumber == item.Partnumber
|
||||||
|
&& o.ChangeType == 2
|
||||||
|
)
|
||||||
|
.Select(o => o.ChangeQuantity)
|
||||||
|
.Sum();
|
||||||
|
item.RealQuantity = item.Quantity.Value + (runum.Value - chunum.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
list = list.Where(it => it.RealQuantity != 0 || it.Quantity != 0)
|
||||||
|
.Where(it => !string.IsNullOrEmpty(it.Partnumber))
|
||||||
|
.DistinctBy(it => it.Partnumber)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
int total = list.Count;
|
||||||
|
// 仓库总盘点零件数
|
||||||
|
int StocktakingTotal =
|
||||||
|
Context.Queryable<WmOneTimeInventory>().Sum(it => it.Quantity) ?? 0;
|
||||||
|
// 仓库当前查询盘点零件数
|
||||||
|
int QuantitySum = list.Sum(it => it.Quantity) ?? 0;
|
||||||
|
// 仓库当前查询实际零件数
|
||||||
|
int RealQuantitySum = list.Sum(it => it.RealQuantity);
|
||||||
|
WmOneTimeInventoryTableDto response =
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
Total = total,
|
||||||
|
StocktakingTotal = StocktakingTotal,
|
||||||
|
QuantitySum = QuantitySum,
|
||||||
|
RealQuantitySum = RealQuantitySum,
|
||||||
|
Result = list.Skip((parm.PageNum - 1) * parm.PageSize)
|
||||||
|
.Take(parm.PageSize)
|
||||||
|
.ToList(),
|
||||||
|
};
|
||||||
|
return response;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取详情
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public WmOneTimeInventory GetInfo(string Id)
|
||||||
{
|
{
|
||||||
var response = Queryable().Where(x => x.Id == Id).First();
|
var response = Queryable().Where(x => x.Id == Id).First();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user