1
This commit is contained in:
@@ -22,35 +22,24 @@ namespace DOAN.Service.MES.Group
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
public List<AchievementDto> GetstaffAchievementList(AchievementQueryDto parm)
|
||||
public List<AchievementDto> GetstaffAchievementList(AchievementQueryDto parm)
|
||||
{
|
||||
var predicate = QueryExp(parm);
|
||||
var result= Context.Queryable<ProReportwork01>().Where(predicate.ToExpression())
|
||||
.GroupBy(x => x.Worker)
|
||||
.Select(it=>new AchievementDto
|
||||
var result = Context.Queryable<ProReportwork01>().Where(predicate.ToExpression())
|
||||
.GroupBy(it => it.Worker)
|
||||
.Select(it => new AchievementDto
|
||||
{
|
||||
Worker = it.Worker,
|
||||
|
||||
MaterialUse=SqlFunc.Subqueryable<ProReportwork01>().Where(x=>x.Worker==it.Worker&&x.ProcessId==10).Where(predicate.ToExpression()).Sum(x=>x.FinishNum??0),
|
||||
|
||||
MechanicalProcessing = SqlFunc.Subqueryable<ProReportwork01>().Where(x => x.Worker == it.Worker && x.ProcessId == 20).Where(predicate.ToExpression()).Sum(x => x.FinishNum ?? 0),
|
||||
|
||||
MiddleCheck = SqlFunc.Subqueryable<ProReportwork01>().Where(x => x.Worker == it.Worker && x.ProcessId == 10).Where(predicate.ToExpression()).Sum(x => x.FinishNum ?? 0),
|
||||
|
||||
Handgrind = SqlFunc.Subqueryable<ProReportwork01>().Where(x => x.Worker == it.Worker && x.ProcessId == 10).Where(predicate.ToExpression()).Sum(x => x.FinishNum ?? 0),
|
||||
|
||||
Machinegrind = SqlFunc.Subqueryable<ProReportwork01>().Where(x => x.Worker == it.Worker && x.ProcessId == 10).Where(predicate.ToExpression()).Sum(x => x.FinishNum ?? 0),
|
||||
|
||||
|
||||
Finegrind = SqlFunc.Subqueryable<ProReportwork01>().Where(x => x.Worker == it.Worker && x.ProcessId == 10).Where(predicate.ToExpression()).Sum(x => x.FinishNum ?? 0),
|
||||
|
||||
|
||||
WarehouseInspection = SqlFunc.Subqueryable<ProReportwork01>().Where(x => x.Worker == it.Worker && x.ProcessId == 10).Where(predicate.ToExpression()).Sum(x => x.FinishNum ?? 0),
|
||||
|
||||
|
||||
Shipment = SqlFunc.Subqueryable<ProReportwork01>().Where(x => x.Worker == it.Worker && x.ProcessId == 10).Where(predicate.ToExpression()).Sum(x => x.FinishNum ?? 0),
|
||||
|
||||
}).Distinct().ToList();
|
||||
MaterialUse = SqlFunc.AggregateSum(it.ProcessId == 10 ? it.FinishNum ?? 0 : 0),
|
||||
MechanicalProcessing = SqlFunc.AggregateSum(it.ProcessId == 20 ? it.FinishNum ?? 0 : 0),
|
||||
MiddleCheck = SqlFunc.AggregateSum(it.ProcessId == 30 ? it.FinishNum ?? 0 : 0),
|
||||
Handgrind = SqlFunc.AggregateSum(it.ProcessId == 40 ? it.FinishNum ?? 0 : 0),
|
||||
Machinegrind = SqlFunc.AggregateSum(it.ProcessId == 50 ? it.FinishNum ?? 0 : 0),
|
||||
Finegrind = SqlFunc.AggregateSum(it.ProcessId == 60 ? it.FinishNum ?? 0 : 0),
|
||||
WarehouseInspection = SqlFunc.AggregateSum(it.ProcessId == 70 ? it.FinishNum ?? 0 : 0),
|
||||
Shipment = SqlFunc.AggregateSum(it.ProcessId == 90 ? it.FinishNum ?? 0 : 0)
|
||||
}).Distinct()
|
||||
.ToList();
|
||||
int index = 0;
|
||||
foreach (var item in result)
|
||||
{
|
||||
@@ -62,11 +51,11 @@ namespace DOAN.Service.MES.Group
|
||||
|
||||
private static Expressionable<ProReportwork01> QueryExp(AchievementQueryDto parm)
|
||||
{
|
||||
|
||||
|
||||
var predicate = Expressionable.Create<ProReportwork01>()
|
||||
.AndIF(!string.IsNullOrEmpty(parm.Worker), it => it.Worker.Contains(parm.Worker))
|
||||
.AndIF(parm.JobDatetime != null&& parm.JobDatetime[0]>DateTime.MinValue, it => it.JobDateTime >=parm.JobDatetime[0])
|
||||
.AndIF(parm.JobDatetime != null&& parm.JobDatetime[0]>DateTime.MinValue, it => it.JobDateTime <=parm.JobDatetime[1])
|
||||
.AndIF(parm.JobDatetime != null && parm.JobDatetime[0] > DateTime.MinValue, it => it.JobDateTime >= parm.JobDatetime[0])
|
||||
.AndIF(parm.JobDatetime != null && parm.JobDatetime[0] > DateTime.MinValue, it => it.JobDateTime <= parm.JobDatetime[1])
|
||||
;
|
||||
|
||||
return predicate;
|
||||
|
||||
Reference in New Issue
Block a user