|
@@ -44,15 +44,59 @@ namespace ZR.Service.Business.OutStore
|
|
|
predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), d => d.MaterialName.Contains(parm.MaterialName));
|
|
|
predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialSpec), d => d.MaterialSpec.Contains(parm.MaterialSpec));
|
|
|
predicate.AndIF(!string.IsNullOrEmpty(parm.Category), d => d.Category == parm.Category);
|
|
|
+ predicate.AndIF(parm.Result != null, d => d.Result == parm.Result);
|
|
|
predicate.AndIF(parm.KeyFlag != null, d => d.KeyFlag == parm.KeyFlag);
|
|
|
//搜索条件查询语法参考Sqlsugar
|
|
|
var response = Queryable()
|
|
|
.Where(predicate.ToExpression())
|
|
|
- .ToPage<SapBomRecord, SapBomRecordDto>(parm);
|
|
|
+ .Select(d => new SapBomRecordDto
|
|
|
+ {
|
|
|
+ AssBy = SqlFunc.Subqueryable<OutAssembleRecord>().Where(a => a.BomNo == d.BomNo && a.MaterialCode == d.MaterialCode).Select(a => a.CreateBy),
|
|
|
+ AssTime = SqlFunc.Subqueryable<OutAssembleRecord>().Where(a => a.BomNo == d.BomNo && a.MaterialCode == d.MaterialCode).Select(a => a.CreateTime)
|
|
|
+ },true)
|
|
|
+ .ToPage<SapBomRecordDto, SapBomRecordDto>(parm);
|
|
|
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 装配追溯统计
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="parm"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ /// <exception cref="NotImplementedException"></exception>
|
|
|
+ public PagedInfo<SapBomRecordDto> GetStat(SapBomRecordQueryDto parm)
|
|
|
+ {
|
|
|
+ //开始拼装查询条件
|
|
|
+ var predicate = Expressionable.Create<SapBomRecord>();
|
|
|
+ //if (parm.BeginTime != null && parm.EndTime != null)
|
|
|
+ //{
|
|
|
+ // parm.BeginTime = parm.BeginTime.Value.ToLocalTime();
|
|
|
+ // parm.EndTime = parm.EndTime.Value.ToLocalTime();
|
|
|
+ // predicate.And(d => d.CreateTime >= parm.BeginTime && d.CreateTime <= parm.EndTime);
|
|
|
+ //}
|
|
|
+ predicate.AndIF(!string.IsNullOrEmpty(parm.BomNo), d => d.BomNo.Contains(parm.BomNo));
|
|
|
+
|
|
|
+ //predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), d => d.MaterialCode.Contains(parm.MaterialCode));
|
|
|
+ //predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialName), d => d.MaterialName.Contains(parm.MaterialName));
|
|
|
+ //predicate.AndIF(!string.IsNullOrEmpty(parm.MaterialSpec), d => d.MaterialSpec.Contains(parm.MaterialSpec));
|
|
|
+ //predicate.AndIF(!string.IsNullOrEmpty(parm.Category), d => d.Category == parm.Category);
|
|
|
+ //predicate.AndIF(parm.KeyFlag != null, d => d.KeyFlag == parm.KeyFlag);
|
|
|
+ //搜索条件查询语法参考Sqlsugar
|
|
|
+ var response = Queryable()
|
|
|
+ .GroupBy(d => new { d.BomNo })
|
|
|
+ .Where(predicate.ToExpression())
|
|
|
+ .Select((d => new SapBomRecordDto
|
|
|
+ {
|
|
|
+ BomNo = d.BomNo,
|
|
|
+ AssembleQty = SqlFunc.AggregateSumNoNull(d.AssembleQty),
|
|
|
+ Result = SqlFunc.AggregateAvg(d.Result) < 99 ? 0 : 99
|
|
|
+ }))
|
|
|
+ .HavingIF(parm.Result!=null,d=>d.Result == parm.Result)
|
|
|
+ .ToPage<SapBomRecordDto, SapBomRecordDto>(parm);
|
|
|
+
|
|
|
+ return response;
|
|
|
+ }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 添加接口管理/SAP关键件清单记录表
|
|
@@ -164,6 +208,7 @@ namespace ZR.Service.Business.OutStore
|
|
|
|
|
|
return response.Adapt<List<SapBomRecordDto>>();
|
|
|
}
|
|
|
+
|
|
|
#endregion
|
|
|
}
|
|
|
}
|