质量看板的倒车雷达去除,抛光,一次仓库数据优化

This commit is contained in:
2024-11-25 09:58:29 +08:00
parent f5415b17fe
commit 65ee306fe1
5 changed files with 123 additions and 38 deletions

View File

@@ -72,7 +72,6 @@ namespace ZR.Service.mes.qc
List<QcQualityStatisticsFirst> data = Context
.Queryable<QcQualityStatisticsFirst>()
.Where(predicate)
.OrderByIF(sortType == 1, it => it.QualifiedRate, OrderByType.Desc)
.OrderByIF(sortType == 2, it => it.ProductDescription, OrderByType.Asc)
.OrderByIF(sortType == 0 || sortType == 2, it => it.StartTime, OrderByType.Asc)
@@ -815,5 +814,70 @@ namespace ZR.Service.mes.qc
return "获取描述异常!";
}
}
/// <summary>
/// 获取首检倒车雷达数量
/// </summary>
/// <param name="starttime"></param>
/// <param name="endTime"></param>
/// <param name="workorderid"></param>
/// <param name="partnumber"></param>
/// <param name="product_description"></param>
/// <param name="team"></param>
/// <param name="pageNum"></param>
/// <param name="pageSize"></param>
/// <param name="sortType"></param>
/// <returns></returns>
public int GetParkingSensorTotal(
DateTime starttime,
DateTime endTime,
string workorderid,
string partnumber,
string product_description,
string team,
int pageNum,
int pageSize
)
{
try
{
// 倒车雷达提取
string[] checkStrArray2 = { "倒车雷达" };
var ParkingSensorPartNumberCheck = Expressionable.Create<WmMaterial>();
foreach (string checkStr in checkStrArray2)
{
ParkingSensorPartNumberCheck.Or(it => it.Description.Contains(checkStr));
}
;
ParkingSensorPartNumberCheck.And(it => it.Type == 1).And(it => it.Status == 1);
List<string> ParkingSensorPartNumberList = Context
.Queryable<WmMaterial>()
.Where(ParkingSensorPartNumberCheck.ToExpression())
.Select(it => it.Partnumber)
.ToList();
var predicateParkingSensor = Expressionable
.Create<QcQualityStatisticsFirst>()
.And(it => ParkingSensorPartNumberList.Contains(it.FinishedPartNumber))
.AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId == workorderid)
.AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber == partnumber)
.AndIF(
!string.IsNullOrEmpty(product_description),
it => it.ProductDescription == product_description
)
.AndIF(!string.IsNullOrEmpty(team), it => it.Team == team)
.AndIF(starttime > DateTime.MinValue, it => it.StartTime >= starttime.ToLocalTime())
.AndIF(endTime > DateTime.MinValue, it => it.StartTime <= endTime.ToLocalTime())
.ToExpression();
return (Context
.Queryable<QcQualityStatisticsFirst>()
.Where(predicateParkingSensor)
.Sum(it => it.QualifiedNumber) ?? 0) / 3;
}
catch (Exception e)
{
throw new Exception(e.Message ?? string.Empty);
}
}
}
}