质量报表完成

This commit is contained in:
qianhao.xu
2024-02-20 15:04:49 +08:00
parent fe07c5ba86
commit 1d345a63b5
3 changed files with 90 additions and 187 deletions

View File

@@ -2935,7 +2935,7 @@ namespace ZR.Service.mes.qc
#endregion
#region
int qualifiedNumber_No_all_final = baofei_total_final+ damo_total_final;
int qualifiedNumber_No_all_final = baofei_total_final + damo_total_final;
final2.QualifiedNumber = final3.RequireNumber - qualifiedNumber_No_all_final;
final2.QualifiedRate = Math.Round(((decimal)final2.QualifiedNumber / (decimal)final2.RequireNumber) * 100, 3);
@@ -2988,36 +2988,36 @@ namespace ZR.Service.mes.qc
total2.EndTime = DateTime.Now;
total2.Remark = "打磨";
total2.Remark2 = 2;
total2.PaintSuokong = again2.PaintSuokong + final2.PaintSuokong;
total2.PaintZhengkong = again2.PaintZhengkong + final2.PaintZhengkong;
total2.PaintShiguang = again2.PaintShiguang + final2.PaintShiguang;
total2.PaintSecha = again2.PaintSecha + final2.PaintSecha;
total2.PaintDianzi = again2.PaintDianzi + final2.PaintDianzi;
total2.DeviceShuiban = again2.DeviceShuiban + final2.DeviceShuiban;
total2.PaintOther = again2.PaintOther + final2.PaintOther;
total2.DeviceZandian = again2.DeviceZandian + final2.DeviceZandian;
total2.DeviceBianxing = again2.DeviceBianxing + final2.DeviceBianxing;
total2.DeviceYouzhu = again2.DeviceYouzhu + final2.DeviceYouzhu;
total2.DeviceTuoluo = again2.DeviceTuoluo + final2.DeviceTuoluo;
total2.DeviceZhuangshang = again2.DeviceZhuangshang + final2.DeviceZhuangshang;
total2.DeviceOther = again2.DeviceOther + final2.DeviceOther;
total2.BlankMaoci = again2.BlankMaoci + final2.BlankMaoci;
total2.BlankSuoyin = again2.BlankSuoyin + final2.BlankSuoyin;
total2.BlankCanshuang = again2.BlankCanshuang + final2.BlankCanshuang;
total2.BlankShaying = again2.BlankShaying + final2.BlankShaying;
total2.BlankZangdian = again2.BlankZangdian + final2.BlankZangdian;
total2.BlankDamo = again2.BlankDamo + final2.BlankDamo;
total2.ProgramLiuguang = again2.ProgramLiuguang + final2.ProgramLiuguang;
total2.ProgramSeqiqueqi = again2.ProgramSeqiqueqi + final2.ProgramSeqiqueqi;
total2.ProgramQingqiqueqi = again2.ProgramQingqiqueqi + final2.ProgramQingqiqueqi;
total2.ProgramJupi = again2.ProgramJupi + final2.ProgramJupi;
total2.TeamTuoluocanshuang = again2.TeamTuoluocanshuang + final2.TeamTuoluocanshuang;
total2.ProgramOther = again2.ProgramOther + final2.ProgramOther;
total2.TeamQingqiqikuai = again2.TeamQingqiqikuai + final2.TeamQingqiqikuai;
total2.TeamSeqiqikuai = again2.TeamSeqiqikuai + final2.TeamSeqiqikuai;
total2.TeamFahua = again2.TeamFahua + final2.TeamFahua;
total2.TeamLiangbang = again2.TeamLiangbang + final2.TeamLiangbang;
total2.TeamPenglou = again2.TeamPenglou + final2.TeamPenglou;
total2.PaintSuokong = (again2.PaintSuokong ?? 0) + (final2.PaintSuokong ?? 0) + (first2.PaintSuokong ?? 0);
total2.PaintZhengkong = (again2.PaintZhengkong ?? 0) + (final2.PaintZhengkong ?? 0) + (first2.PaintZhengkong ?? 0);
total2.PaintShiguang = (again2.PaintShiguang ?? 0) + (final2.PaintShiguang ?? 0) + (first2.PaintShiguang ?? 0);
total2.PaintSecha = (again2.PaintSecha ?? 0) + (final2.PaintSecha ?? 0) + (first2.PaintSecha ?? 0);
total2.PaintDianzi = (again2.PaintDianzi ?? 0) + (final2.PaintDianzi ?? 0) + (first2.PaintDianzi ?? 0);
total2.DeviceShuiban = (again2.DeviceShuiban ?? 0) + (final2.DeviceShuiban ?? 0) + (first2.DeviceShuiban ?? 0);
total2.PaintOther = (again2.PaintOther ?? 0) + (final2.PaintOther ?? 0) + (first2.PaintOther ?? 0);
total2.DeviceZandian = (again2.DeviceZandian ?? 0) + (final2.DeviceZandian ?? 0) + (first2.DeviceZandian ?? 0);
total2.DeviceBianxing = (again2.DeviceBianxing ?? 0) + (final2.DeviceBianxing ?? 0) + (first2.DeviceBianxing ?? 0);
total2.DeviceYouzhu = (again2.DeviceYouzhu ?? 0) + (final2.DeviceYouzhu ?? 0) + (first2.DeviceYouzhu ?? 0);
total2.DeviceTuoluo = (again2.DeviceTuoluo ?? 0) + (final2.DeviceTuoluo ?? 0) + (first2.DeviceTuoluo ?? 0);
total2.DeviceZhuangshang = (again2.DeviceZhuangshang ?? 0) + (final2.DeviceZhuangshang ?? 0) + (first2.DeviceZhuangshang ?? 0);
total2.DeviceOther = again2.DeviceOther ?? 0 + final2.DeviceOther ?? 0 + first2.DeviceOther ?? 0;
total2.BlankMaoci = (again2.BlankMaoci ?? 0) + (final2.BlankMaoci ?? 0) + (first2.BlankMaoci ?? 0);
total2.BlankSuoyin = (again2.BlankSuoyin ?? 0) + (final2.BlankSuoyin ?? 0) + (first2.BlankSuoyin ?? 0);
total2.BlankCanshuang = (again2.BlankCanshuang ?? 0) + (final2.BlankCanshuang ?? 0) + (first2.BlankCanshuang ?? 0);
total2.BlankShaying = (again2.BlankShaying ?? 0) + (final2.BlankShaying ?? 0) + (first2.BlankShaying ?? 0);
total2.BlankZangdian = (again2.BlankZangdian ?? 0) + (final2.BlankZangdian ?? 0) + (first2.BlankZangdian ?? 0);
total2.BlankDamo = (again2.BlankDamo ?? 0) + (final2.BlankDamo ?? 0) + (first2.BlankDamo ?? 0);
total2.ProgramLiuguang = (again2.ProgramLiuguang ?? 0) + (final2.ProgramLiuguang ?? 0) + (first2.ProgramLiuguang ?? 0);
total2.ProgramSeqiqueqi = (again2.ProgramSeqiqueqi ?? 0) + (final2.ProgramSeqiqueqi ?? 0) + (first2.ProgramSeqiqueqi ?? 0);
total2.ProgramQingqiqueqi = (again2.ProgramQingqiqueqi ?? 0) + (final2.ProgramQingqiqueqi ?? 0) + (first2.ProgramQingqiqueqi ?? 0);
total2.ProgramJupi = (again2.ProgramJupi ?? 0) + (final2.ProgramJupi ?? 0) + (first2.ProgramJupi ?? 0);
total2.TeamTuoluocanshuang = (again2.TeamTuoluocanshuang ?? 0) + (final2.TeamTuoluocanshuang ?? 0) + (first2.TeamTuoluocanshuang ?? 0);
total2.ProgramOther = (again2.ProgramOther ?? 0) + (final2.ProgramOther ?? 0) + (first2.ProgramOther ?? 0);
total2.TeamQingqiqikuai = (again2.TeamQingqiqikuai ?? 0) + (final2.TeamQingqiqikuai ?? 0) + (first2.TeamQingqiqikuai ?? 0);
total2.TeamSeqiqikuai = (again2.TeamSeqiqikuai ?? 0) + (final2.TeamSeqiqikuai ?? 0) + (first2.TeamSeqiqikuai ?? 0);
total2.TeamFahua = (again2.TeamFahua ?? 0) + (final2.TeamFahua ?? 0) + (first2.TeamFahua ?? 0);
total2.TeamLiangbang = (again2.TeamLiangbang ?? 0) + (final2.TeamLiangbang ?? 0) + (first2.TeamLiangbang ?? 0);
total2.TeamPenglou = (again2.TeamPenglou ?? 0) + (final2.TeamPenglou ?? 0) + (first2.TeamPenglou ?? 0);
@@ -3046,36 +3046,36 @@ namespace ZR.Service.mes.qc
total3.Remark = "报废";
total3.Remark2 = 3;
total3.PaintSuokong = again3.PaintSuokong + final3.PaintSuokong;
total3.PaintZhengkong = again3.PaintZhengkong + final3.PaintZhengkong;
total3.PaintShiguang = again3.PaintShiguang + final3.PaintShiguang;
total3.PaintSecha = again3.PaintSecha + final3.PaintSecha;
total3.PaintDianzi = again3.PaintDianzi + final3.PaintDianzi;
total3.DeviceShuiban = again3.DeviceShuiban + final3.DeviceShuiban;
total3.PaintOther = again3.PaintOther + final3.PaintOther;
total3.DeviceZandian = again3.DeviceZandian + final3.DeviceZandian;
total3.DeviceBianxing = again3.DeviceBianxing + final3.DeviceBianxing;
total3.DeviceYouzhu = again3.DeviceYouzhu + final3.DeviceYouzhu;
total3.DeviceTuoluo = again3.DeviceTuoluo + final3.DeviceTuoluo;
total3.DeviceZhuangshang = again3.DeviceZhuangshang + final3.DeviceZhuangshang;
total3.DeviceOther = again3.DeviceOther + final3.DeviceOther;
total3.BlankMaoci = again3.BlankMaoci + final3.BlankMaoci;
total3.BlankSuoyin = again3.BlankSuoyin + final3.BlankSuoyin;
total3.BlankCanshuang = again3.BlankCanshuang + final3.BlankCanshuang;
total3.BlankShaying = again3.BlankShaying + final3.BlankShaying;
total3.BlankZangdian = again3.BlankZangdian + final3.BlankZangdian;
total3.BlankDamo = again3.BlankDamo + final3.BlankDamo;
total3.ProgramLiuguang = again3.ProgramLiuguang + final3.ProgramLiuguang;
total3.ProgramSeqiqueqi = again3.ProgramSeqiqueqi + final3.ProgramSeqiqueqi;
total3.ProgramQingqiqueqi = again3.ProgramQingqiqueqi + final3.ProgramQingqiqueqi;
total3.ProgramJupi = again3.ProgramJupi + final3.ProgramJupi;
total3.TeamTuoluocanshuang = again3.TeamTuoluocanshuang + final3.TeamTuoluocanshuang;
total3.ProgramOther = again3.ProgramOther + final3.ProgramOther;
total3.TeamQingqiqikuai = again3.TeamQingqiqikuai + final3.TeamQingqiqikuai;
total3.TeamSeqiqikuai = again3.TeamSeqiqikuai + final3.TeamSeqiqikuai;
total3.TeamFahua = again3.TeamFahua + final3.TeamFahua;
total3.TeamLiangbang = again3.TeamLiangbang + final3.TeamLiangbang;
total3.TeamPenglou = again3.TeamPenglou + final3.TeamPenglou;
total3.PaintSuokong = (again3.PaintSuokong??0) + (final3.PaintSuokong??0) + (first3.PaintSuokong??0);
total3.PaintZhengkong = (again3.PaintZhengkong ?? 0) + (final3.PaintZhengkong ?? 0) + (first3.PaintZhengkong ?? 00) ;
total3.PaintShiguang = (again3.PaintShiguang ?? 0) + (final3.PaintShiguang ?? 0) + (first3.PaintShiguang ?? 0);
total3.PaintSecha = (again3.PaintSecha ?? 0) + (final3.PaintSecha ?? 0) + (first3.PaintSecha ?? 0);
total3.PaintDianzi = (again3.PaintDianzi ?? 0) + (final3.PaintDianzi ?? 0) + (first3.PaintDianzi ?? 0);
total3.DeviceShuiban = (again3.DeviceShuiban ?? 0) + (final3.DeviceShuiban ?? 0) + (first3.DeviceShuiban ?? 0);
total3.PaintOther = (again3.PaintOther ?? 0) + (final3.PaintOther ?? 0) + (first3.PaintOther ?? 0);
total3.DeviceZandian = again3.DeviceZandian ?? 0 + final3.PaintOther ?? 0 + first3.PaintOther ?? 0;
total3.DeviceBianxing = (again3.DeviceBianxing ?? 0) + (final3.DeviceBianxing ?? 0) + (first3.DeviceBianxing ?? 0);
total3.DeviceYouzhu = (again3.DeviceYouzhu ?? 0) + (final3.DeviceYouzhu ?? 0) + (first3.DeviceYouzhu ?? 0);
total3.DeviceTuoluo = (again3.DeviceTuoluo ?? 0) + (final3.DeviceTuoluo ?? 0) + (first3.DeviceTuoluo ?? 0);
total3.DeviceZhuangshang = (again3.DeviceZhuangshang ?? 0) + (final3.DeviceZhuangshang ?? 0) + (first3.DeviceZhuangshang ?? 0);
total3.DeviceOther = (again3.DeviceOther ?? 0) + (final3.DeviceOther ?? 0) + (first3.DeviceOther ?? 0);
total3.BlankMaoci = (again3.BlankMaoci ?? 0) + (final3.BlankMaoci ?? 0) + (first3.BlankMaoci ?? 0);
total3.BlankSuoyin = (again3.BlankSuoyin ?? 0) + (final3.BlankMaoci ?? 0) + (first3.BlankMaoci ?? 0);
total3.BlankCanshuang = (again3.BlankCanshuang ?? 0) + (final3.BlankCanshuang ?? 0) + (first3.BlankCanshuang ?? 0);
total3.BlankShaying = (again3.BlankShaying ?? 0) + (final3.BlankShaying ?? 0) + (first3.BlankShaying ?? 0);
total3.BlankZangdian = (again3.BlankZangdian ?? 0) + (final3.BlankZangdian ?? 0) + (first3.BlankZangdian ?? 0);
total3.BlankDamo = (again3.BlankDamo ?? 0) + (final3.BlankDamo ?? 0) + (first3.BlankDamo ?? 0);
total3.ProgramLiuguang = (again3.ProgramLiuguang ?? 0) + (final3.ProgramLiuguang ?? 0) + (first3.ProgramLiuguang ?? 0);
total3.ProgramSeqiqueqi = (again3.ProgramSeqiqueqi ?? 0) + (final3.ProgramSeqiqueqi ?? 0) + (first3.ProgramSeqiqueqi ?? 0);
total3.ProgramQingqiqueqi = (again3.ProgramQingqiqueqi ?? 0) + (final3.ProgramQingqiqueqi ?? 0) + (first3.ProgramQingqiqueqi ?? 0);
total3.ProgramJupi = (again3.ProgramJupi ?? 0) + (final3.ProgramJupi ?? 0) + (first3.ProgramJupi ?? 0);
total3.TeamTuoluocanshuang = (again3.TeamTuoluocanshuang ?? 0) + (final3.TeamTuoluocanshuang ?? 0) + (first3.TeamTuoluocanshuang ?? 0);
total3.ProgramOther = (again3.ProgramOther ?? 0) + (final3.ProgramOther ?? 0) + (first3.ProgramOther ?? 0);
total3.TeamQingqiqikuai = again3.TeamQingqiqikuai ?? 0 + final3.TeamQingqiqikuai ?? 0 + first3.TeamQingqiqikuai ?? 0;
total3.TeamSeqiqikuai = (again3.TeamSeqiqikuai ?? 0) + (final3.TeamSeqiqikuai ?? 0) + (first3.TeamSeqiqikuai ?? 0);
total3.TeamFahua = (again3.TeamFahua ?? 0) + (final3.TeamFahua ?? 0) + (first3.TeamFahua ?? 0);
total3.TeamLiangbang = (again3.TeamLiangbang ?? 0) + (final3.TeamLiangbang ?? 0) + (first3.TeamLiangbang ?? 0);
total3.TeamPenglou = (again3.TeamPenglou ?? 0) + (final3.TeamPenglou ?? 0) + (first3.TeamPenglou ?? 0);
@@ -3085,20 +3085,21 @@ namespace ZR.Service.mes.qc
#endregion
#region
int qualifiedNumber_No_all_total = qualifiedNumber_No_all_again + qualifiedNumber_No_all_final;
int qualifiedNumber_No_all_total = qualifiedNumber_No_all + qualifiedNumber_No_all_again + qualifiedNumber_No_all_final;
total2.QualifiedNumber = (again2.RequireNumber??0) - qualifiedNumber_No_all_total;
total2.QualifiedNumber = again2.RequireNumber - qualifiedNumber_No_all_total;
total2.QualifiedRate = Math.Round(((decimal)total2.QualifiedNumber / (decimal)total2.RequireNumber) * 100, 3);
total2.DamoTotal = damo_total_again+ damo_total_final;
total2.BaofeiTotal = baofei_total_again3+baofei_total_final;
total2.DamoTotal = damo_total_again + damo_total_final;
total2.BaofeiTotal = baofei_total_again3 + baofei_total_final;
var x_total_2 = Context.Storageable(total2).WhereColumns(it => new { it.WorkorderId, it.Remark2 }).ToStorage();
x_total_2.AsInsertable.ExecuteCommand();//不存在插入
x_total_2.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand();//存在更新
total3.QualifiedNumber = again3.RequireNumber - qualifiedNumber_No_all_total;
total3.QualifiedNumber = again3.RequireNumber??0 - qualifiedNumber_No_all_total;
total3.QualifiedRate = Math.Round(((decimal)total3.QualifiedNumber / (decimal)total3.RequireNumber) * 100, 3);
total3.DamoTotal = damo_total_again + damo_total_final;

View File

@@ -33,18 +33,18 @@ namespace ZR.Service.mes.qc
{
int totalNum = 0;
var predicate = Expressionable.Create<QcQualityStatisticsFirst>()
.AndIF(starttime>new DateTime(2023, 1, 1, 0,0, 0), it => it.StartTime>=starttime)
.AndIF(endTime > new DateTime(2023, 1, 1, 0,0, 0), it => it.EndTime<=endTime)
.AndIF(!string.IsNullOrEmpty(workorderid),it=>it.Equals(workorderid))
.AndIF(!string.IsNullOrEmpty(partnumber),it=>it.Equals(partnumber))
.AndIF(!string.IsNullOrEmpty(team),it=>it.Equals(team))
.AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime)
.AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.EndTime <= endTime)
.AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId.Equals(workorderid))
.AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber.Equals(partnumber))
.AndIF(!string.IsNullOrEmpty(team), it => it.Team.Equals(team))
.AndIF(!string.IsNullOrEmpty(product_description), it => it.ProductDescription.Contains(product_description))
.ToExpression();
List<QcQualityStatisticsFirst> data = Context.Queryable<QcQualityStatisticsFirst>().Where(predicate).OrderBy(it => it.WorkorderId).OrderBy(it=>it.Remark2).ToPageList(pageNum, pageSize, ref totalNum);
List<QcQualityStatisticsFirst> data = Context.Queryable<QcQualityStatisticsFirst>().Where(predicate).OrderBy(it => it.WorkorderId).OrderBy(it => it.Remark2).ToPageList(pageNum, pageSize, ref totalNum);
return (data, totalNum);
}
@@ -62,15 +62,15 @@ namespace ZR.Service.mes.qc
/// <param name="pageSize"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public (List<QcQualityStatisticsAgain>,int) GetQualityStatisticsTable_again(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
public (List<QcQualityStatisticsAgain>, int) GetQualityStatisticsTable_again(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
{
int totalNum = 0;
var predicate = Expressionable.Create<QcQualityStatisticsAgain>()
.AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime)
.AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime)
.AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.EndTime <= endTime)
.AndIF(!string.IsNullOrEmpty(workorderid), it => it.Equals(workorderid))
.AndIF(!string.IsNullOrEmpty(partnumber), it => it.Equals(partnumber))
.AndIF(!string.IsNullOrEmpty(team), it => it.Equals(team))
.AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId.Equals(workorderid))
.AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber.Equals(partnumber))
.AndIF(!string.IsNullOrEmpty(team), it => it.Team.Equals(team))
.AndIF(!string.IsNullOrEmpty(product_description), it => it.ProductDescription.Contains(product_description))
.ToExpression();
@@ -94,15 +94,15 @@ namespace ZR.Service.mes.qc
/// <param name="pageSize"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public (List<QcQualityStatisticsFinal>,int) GetQualityStatisticsTable_final(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
public (List<QcQualityStatisticsFinal>, int) GetQualityStatisticsTable_final(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
{
int totalNum = 0;
var predicate = Expressionable.Create<QcQualityStatisticsFinal>()
.AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime)
.AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime)
.AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.EndTime <= endTime)
.AndIF(!string.IsNullOrEmpty(workorderid), it => it.Equals(workorderid))
.AndIF(!string.IsNullOrEmpty(partnumber), it => it.Equals(partnumber))
.AndIF(!string.IsNullOrEmpty(team), it => it.Equals(team))
.AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId.Equals(workorderid))
.AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber.Equals(partnumber))
.AndIF(!string.IsNullOrEmpty(team), it => it.Team.Equals(team))
.AndIF(!string.IsNullOrEmpty(product_description), it => it.ProductDescription.Contains(product_description))
.ToExpression();
@@ -127,19 +127,18 @@ namespace ZR.Service.mes.qc
/// <param name="pageSize"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public (List<QcQualityStatisticsTotal>,int) GetQualityStatisticsTable_total(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
public (List<QcQualityStatisticsTotal>, int) GetQualityStatisticsTable_total(DateTime starttime, DateTime endTime, string workorderid, string partnumber, string product_description, string team, int pageNum, int pageSize)
{
int totalNum = 0;
var predicate = Expressionable.Create<QcQualityStatisticsTotal>()
.AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime)
.AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.StartTime >= starttime)
.AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.EndTime <= endTime)
.AndIF(!string.IsNullOrEmpty(workorderid), it => it.Equals(workorderid))
.AndIF(!string.IsNullOrEmpty(partnumber), it => it.Equals(partnumber))
.AndIF(!string.IsNullOrEmpty(team), it => it.Equals(team))
.AndIF(!string.IsNullOrEmpty(workorderid), it => it.WorkorderId.Equals(workorderid))
.AndIF(!string.IsNullOrEmpty(partnumber), it => it.FinishedPartNumber.Equals(partnumber))
.AndIF(!string.IsNullOrEmpty(team), it => it.Team.Equals(team))
.AndIF(!string.IsNullOrEmpty(product_description), it => it.ProductDescription.Contains(product_description))
.ToExpression();
List<QcQualityStatisticsTotal> data = Context.Queryable<QcQualityStatisticsTotal>().Where(predicate).OrderBy(it => it.WorkorderId).OrderBy(it => it.Remark2).ToPageList(pageNum, pageSize, ref totalNum);