diff --git a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs index b0fe2c0..68514ca 100644 --- a/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs +++ b/B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs @@ -74,32 +74,27 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports _checkbox.Items.Add(new ListItem("供应商", "Supplier_Name")); _checkbox.Items.Add(new ListItem("来源地", "Supplier_Address")); _checkbox.Items.Add(new ListItem("过磅单号", "Weigh_ID")); - _checkbox.Items.Add(new ListItem("收购日期", "WeighTime")); + _checkbox.Items.Add(new ListItem("收购头数", "RealNumber")); - _checkbox.Items.Add(new ListItem("毛猪等级", ""));//todo - _checkbox.Items.Add(new ListItem("棚前重量", "ShackWeight")); + _checkbox.Items.Add(new ListItem("榜前重量", "ShackWeight")); _checkbox.Items.Add(new ListItem("收购重量", "RealWeight")); _checkbox.Items.Add(new ListItem("损耗", "损耗")); - _checkbox.Items.Add(new ListItem("损耗比%", "损耗比%")); + _checkbox.Items.Add(new ListItem("损耗比", "损耗比")); + _checkbox.Items.Add(new ListItem("实付金额", "ActualMoney")); + _checkbox.Items.Add(new ListItem("应付金额", "Money")); + _checkbox.Items.Add(new ListItem("毛重单价", "RawPrice")); + _checkbox.Items.Add(new ListItem("宰前扣款", "ExceptionMoney")); + _checkbox.Items.Add(new ListItem("头数重量", "头数重量")); + + + + _checkbox.Items.Add(new ListItem("毛猪等级", ""));//todo + + _checkbox.Items.Add(new ListItem("烫褪头数", "烫褪头数")); - _checkbox.Items.Add(new ListItem("工艺", "Technics")); - _checkbox.Items.Add(new ListItem("头数", "Number")); - _checkbox.Items.Add(new ListItem("级别重量", "级别重量")); - - _checkbox.Items.Add(new ListItem("皮重", "皮重")); - _checkbox.Items.Add(new ListItem("皮肉重量", "皮肉重量")); - - _checkbox.Items.Add(new ListItem("皮肉比%", "皮肉比%")); - _checkbox.Items.Add(new ListItem("一二级比%", "一二级比%")); - _checkbox.Items.Add(new ListItem("价格金额", "价格金额")); - _checkbox.Items.Add(new ListItem("宰前扣款", "宰前扣款")); - _checkbox.Items.Add(new ListItem("死猪扣款", "死猪扣款")); - _checkbox.Items.Add(new ListItem("宰后扣款", "宰后扣款")); - _checkbox.Items.Add(new ListItem("收购金额", "ActualMoney")); - _checkbox.Items.Add(new ListItem("核算金额", "Money")); - _checkbox.Items.Add(new ListItem("收购单价", "收购单价")); - _checkbox.Items.Add(new ListItem("实际单价", "实际单价")); - _checkbox.Items.Add(new ListItem("核算单价", "RawPrice")); + _checkbox.Items.Add(new ListItem("单价金额", "单价金额")); + + _checkbox.Items.Add(new ListItem("合并单元格") { Selected = false }); panel.EAdd(_checkbox); mQueryControls.Add("显示字段", _checkbox); @@ -118,166 +113,195 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports var unionAlias = new JoinAlias("tempUnionDom", typeof(tempUnionDom)); query.From.AddJoin(JoinType.Left, new DQDmoSource(unionAlias), DQCondition.EQ(bill, "ID", unionAlias, "StatPay_ID")); + var 榜前重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "ShackWeight"))); + var 收购重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealWeight"))); + var 损耗 = DQExpression.Subtract(榜前重量, 收购重量); + - query.Columns.Add(DQSelectColumn.Create(DQExpression.Field("WeighTime"), "收购日期")); - query.GroupBy.Expressions.Add(DQExpression.Field("WeighTime")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Field("PurchaseType"), "收购类型")); - query.GroupBy.Expressions.Add(DQExpression.Field("PurchaseType")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Field("Supplier_Name"), "供应商")); - query.GroupBy.Expressions.Add(DQExpression.Field("Supplier_Name")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Field("Supplier_Address"), "来源地")); - query.GroupBy.Expressions.Add(DQExpression.Field("Supplier_Address")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Field("Employee_Name"), "业务员")); - query.GroupBy.Expressions.Add(DQExpression.Field("Employee_Name")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Field("Weigh_ID"), "过磅单号")); - query.GroupBy.Expressions.Add(DQExpression.Field("Weigh_ID")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealWeight"))).ESafeDivide(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealNumber")))).ECastType>(), "均重")); - - + foreach (ListItem field in _checkbox.Items) + { + if (field.Selected) + { + switch (field.Text) + { + case "收购日期": + case "收购类型": + case "来源地": + case "供应商": + case "业务员": + case "过磅单号": + query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(field.Value), field.Text)); + query.GroupBy.Expressions.Add(DQExpression.Field( field.Value)); + break; + + case "均重": + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealWeight"))).ESafeDivide(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealNumber")))).ECastType>(), "均重")); + break; + + case "收购头数": + case "榜前重量": + case "收购重量": + case "实付金额": + case "应付金额": + case "毛重单价": + case "宰前扣款": + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, field.Value))), field.Text)); + break; + case "损耗": + query.Columns.Add(DQSelectColumn.Create(损耗, "损耗")); + break; + case "损耗比": + var 损耗比 = DQExpression.Multiply(损耗.ESafeDivide(榜前重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(损耗比, "损耗比")); + break; + case "烫褪头数": + var 烫褪头数 = DQExpression.Add( + DQExpression.Add( + DQExpression.Add( + DQExpression.Add( + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang1Number"))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang2Number")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang3Number")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang4Number")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang5Number")))); + query.Columns.Add(DQSelectColumn.Create(烫褪头数, "烫褪头数")); + + break; + case "头数重量": + + var 剥皮总重量 = DQExpression.Add( + DQExpression.Add( + DQExpression.Add( + DQExpression.Add( + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Bo1Weight"))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Bo2Weight")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Bo3Weight")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Bo4Weight")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Bo5Weight")))); + + var 烫褪总重量 = DQExpression.Add( + DQExpression.Add( + DQExpression.Add( + DQExpression.Add( + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang1Weight"))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang2Weight")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang3Weight")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang4Weight")))), + DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), + DQExpression.Field(unionAlias, "Tang5Weight")))); + + var 总重量 = DQExpression.Add(剥皮总重量, 烫褪总重量); + + + var 剥皮一级头数 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo1Number"))); + var 剥皮一级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo1Weight"))); + query.Columns.Add(DQSelectColumn.Create(剥皮一级头数, "剥皮|一级|头数")); + query.Columns.Add(DQSelectColumn.Create(剥皮一级重量, "剥皮|一级|重量")); + var 剥皮一级占比 = DQExpression.Multiply(剥皮一级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(剥皮一级占比, "剥皮|一级|占比")); + + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Number"))), "剥皮|二级|头数")); + var 剥皮二级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Weight"))); + query.Columns.Add(DQSelectColumn.Create(剥皮二级重量, "剥皮|二级|重量")); + var 剥皮二级占比 = DQExpression.Multiply(剥皮二级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(剥皮二级占比, "剥皮|二级|占比")); + + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Number"))), "剥皮|三级|头数")); + var 剥皮三级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Weight"))); + query.Columns.Add(DQSelectColumn.Create(剥皮三级重量, "剥皮|三级|重量")); + var 剥皮三级占比 = DQExpression.Multiply(剥皮三级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(剥皮三级占比, "剥皮|三级|占比")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Number"))), "剥皮|四级|头数")); + var 剥皮四级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Weight"))); + query.Columns.Add(DQSelectColumn.Create(剥皮四级重量, "剥皮|四级|重量")); + var 剥皮四级占比 = DQExpression.Multiply(剥皮四级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(剥皮四级占比, "剥皮|四级|占比")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Number"))), "剥皮|五级|头数")); + var 剥皮五级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Weight"))); + query.Columns.Add(DQSelectColumn.Create(剥皮五级重量, "剥皮|五级|重量")); + var 剥皮五级占比 = DQExpression.Multiply(剥皮五级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(剥皮五级占比, "剥皮|五级|占比")); + + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Number"))), "烫褪|一级|头数")); + var 烫褪一级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Weight"))); + query.Columns.Add(DQSelectColumn.Create(烫褪一级重量, "烫褪|一级|重量")); + var 烫褪一级占比 = DQExpression.Multiply(烫褪一级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(烫褪一级占比, "烫褪|一级|占比")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Number"))), "烫褪|二级|头数")); + var 烫褪二级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Weight"))); + query.Columns.Add(DQSelectColumn.Create(烫褪二级重量, "烫褪|二级|重量")); + var 烫褪二级占比 = DQExpression.Multiply(烫褪二级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(烫褪二级占比, "烫褪|二级|占比")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Number"))), "烫褪|三级|头数")); + var 烫褪三级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Weight"))); + query.Columns.Add(DQSelectColumn.Create(烫褪三级重量, "烫褪|三级|重量")); + var 烫褪三级占比 = DQExpression.Multiply(烫褪三级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(烫褪三级占比, "烫褪|三级|占比")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Number"))), "烫褪|四级|头数")); + var 烫褪四级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Weight"))); + query.Columns.Add(DQSelectColumn.Create(烫褪四级重量, "烫褪|四级|重量")); + var 烫褪四级占比 = DQExpression.Multiply(烫褪四级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(烫褪四级占比, "烫褪|四级|占比")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Number"))), "烫褪|五级|头数")); + var 烫褪五级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Weight"))); + query.Columns.Add(DQSelectColumn.Create(烫褪五级重量, "烫褪|五级|重量")); + var 烫褪五级占比 = DQExpression.Multiply(烫褪五级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); + query.Columns.Add(DQSelectColumn.Create(烫褪五级占比, "烫褪|五级|占比")); + + break; + case "单价金额": + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price1"))), "单价|一级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price2"))), "单价|二级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price3"))), "单价|三级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price4"))), "单价|四级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price5"))), "单价|五级")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo1Money"))), "金额|剥皮|一级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Money"))), "金额|剥皮|二级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Money"))), "金额|剥皮|三级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Money"))), "金额|剥皮|四级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Money"))), "金额|剥皮|五级")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Money"))), "金额|烫褪|一级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Money"))), "金额|烫褪|二级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Money"))), "金额|烫褪|三级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Money"))), "金额|烫褪|四级")); + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Money"))), "金额|烫褪|五级")); + + query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalMoney"))), "合计金额")); + break; + + default: + break; + } + } + } - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealNumber"))), "收购头数")); - var 榜前重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1),DQExpression.Field(unionAlias, "ShackWeight"))); - query.Columns.Add(DQSelectColumn.Create(榜前重量, "榜前重量")); - var 收购重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1),DQExpression.Field(unionAlias, "RealWeight"))); - query.Columns.Add(DQSelectColumn.Create(收购重量, "收购重量")); - var 损耗 = DQExpression.Subtract(榜前重量, 收购重量); - query.Columns.Add(DQSelectColumn.Create(损耗, "损耗")); - - var 损耗比 = DQExpression.Multiply(损耗.ESafeDivide(榜前重量), DQExpression.Value(100)).ECastType>(); - query.Columns.Add(DQSelectColumn.Create(损耗比, "损耗比")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "ActualMoney"))), "实付金额")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "Money"))), "应付金额")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RawPrice"))), "毛重单价")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "ExceptionMoney"))), "宰前扣款")); - - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "ActualMoney").ESafeDivide(DQExpression.Field(unionAlias, "ShackWeight")))).ECastType>(), "收购单价")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "ActualMoney").ESafeDivide(DQExpression.Field(unionAlias, "RealWeight")))).ECastType>(), "实际单价")); - - - var 烫褪头数 = DQExpression.Add( - DQExpression.Add( - DQExpression.Add( - DQExpression.Add( - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang1Number"))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang2Number")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang3Number")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang4Number")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang5Number")))); - query.Columns.Add(DQSelectColumn.Create(烫褪头数, "烫褪头数")); - - - var 剥皮总重量 = DQExpression.Add( - DQExpression.Add( - DQExpression.Add( - DQExpression.Add( - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Bo1Weight"))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Bo2Weight")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Bo3Weight")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Bo4Weight")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Bo5Weight")))); - - var 烫褪总重量 = DQExpression.Add( - DQExpression.Add( - DQExpression.Add( - DQExpression.Add( - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang1Weight"))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang2Weight")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang3Weight")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang4Weight")))), - DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), - DQExpression.Field(unionAlias, "Tang5Weight")))); - - var 总重量 = DQExpression.Add(剥皮总重量, 烫褪总重量); - - - var 剥皮一级头数 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),DQExpression.Field(unionAlias, "Bo1Number"))); - var 剥皮一级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo1Weight"))); - query.Columns.Add(DQSelectColumn.Create(剥皮一级头数, "剥皮|一级|头数")); - query.Columns.Add(DQSelectColumn.Create(剥皮一级重量, "剥皮|一级|重量")); - var 剥皮一级占比 = DQExpression.Multiply(剥皮一级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>() ; - query.Columns.Add(DQSelectColumn.Create(剥皮一级占比, "剥皮|一级|占比")); - - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Number"))), "剥皮|二级|头数")); - var 剥皮二级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Weight"))); - query.Columns.Add(DQSelectColumn.Create(剥皮二级重量, "剥皮|二级|重量")); - var 剥皮二级占比 = DQExpression.Multiply(剥皮二级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); - query.Columns.Add(DQSelectColumn.Create(剥皮二级占比, "剥皮|二级|占比")); - - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Number"))), "剥皮|三级|头数")); - var 剥皮三级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Weight"))); - query.Columns.Add(DQSelectColumn.Create(剥皮三级重量, "剥皮|三级|重量")); - var 剥皮三级占比 = DQExpression.Multiply(剥皮三级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); - query.Columns.Add(DQSelectColumn.Create(剥皮三级占比, "剥皮|三级|占比")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Number"))), "剥皮|四级|头数")); - var 剥皮四级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Weight"))); - query.Columns.Add(DQSelectColumn.Create(剥皮四级重量, "剥皮|四级|重量")); - var 剥皮四级占比 = DQExpression.Multiply(剥皮四级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); - query.Columns.Add(DQSelectColumn.Create(剥皮四级占比, "剥皮|四级|占比")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Number"))), "剥皮|五级|头数")); - var 剥皮五级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Weight"))); - query.Columns.Add(DQSelectColumn.Create(剥皮五级重量, "剥皮|五级|重量")); - var 剥皮五级占比 = DQExpression.Multiply(剥皮五级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType>(); - query.Columns.Add(DQSelectColumn.Create(剥皮五级占比, "剥皮|五级|占比")); - - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Number"))), "烫褪|一级|头数")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Weight"))), "烫褪|一级|重量")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Number"))), "烫褪|二级|头数")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Weight"))), "烫褪|二级|重量")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Number"))), "烫褪|三级|头数")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Weight"))), "烫褪|三级|重量")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Number"))), "烫褪|四级|头数")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Weight"))), "烫褪|四级|重量")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Number"))), "烫褪|五级|头数")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Weight"))), "烫褪|五级|重量")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price1"))), "单价|一级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price2"))), "单价|二级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price3"))), "单价|三级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price4"))), "单价|四级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Price5"))), "单价|五级")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo1Money"))), "金额|剥皮|一级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Money"))), "金额|剥皮|二级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Money"))), "金额|剥皮|三级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Money"))), "金额|剥皮|四级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Money"))), "金额|剥皮|五级")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Money"))), "金额|烫褪|一级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Money"))), "金额|烫褪|二级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Money"))), "金额|烫褪|三级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Money"))), "金额|烫褪|四级")); - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Money"))), "金额|烫褪|五级")); - - query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalMoney"))), "合计金额")); + return query;