Browse Source

报表

master
luanhui 8 years ago
parent
commit
ad0b70bc49
2 changed files with 147 additions and 14 deletions
  1. +133
    -14
      B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs
  2. +14
    -0
      B3QingDaoWanFu/TypeIOCs/StatPayBLTypeIoc.cs

+ 133
- 14
B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs View File

@ -14,6 +14,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Web.UI.WebControls; using System.Web.UI.WebControls;
using BWP.B3Frameworks.BO.MoneyTemplate; using BWP.B3Frameworks.BO.MoneyTemplate;
using BWP.B3ProduceUnitedInfos.BO;
using Forks.EnterpriseServices.SqlDoms; using Forks.EnterpriseServices.SqlDoms;
using TSingSoft.WebControls2; using TSingSoft.WebControls2;
using TSingSoft.WebPluginFramework; using TSingSoft.WebPluginFramework;
@ -73,18 +74,29 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
_checkbox.Items.Add(new ListItem("收购日期", "WeighTime")); _checkbox.Items.Add(new ListItem("收购日期", "WeighTime"));
_checkbox.Items.Add(new ListItem("收购类型", "PurchaseType")); _checkbox.Items.Add(new ListItem("收购类型", "PurchaseType"));
_checkbox.Items.Add(new ListItem("供应商", "Supplier_Name")); _checkbox.Items.Add(new ListItem("供应商", "Supplier_Name"));
_checkbox.Items.Add(new ListItem("来源地", "Supplier_Address"));
_checkbox.Items.Add(new ListItem("来源地", "来源地"));
_checkbox.Items.Add(new ListItem("过磅单号", "Weigh_ID")); _checkbox.Items.Add(new ListItem("过磅单号", "Weigh_ID"));
_checkbox.Items.Add(new ListItem("业务员", "Employee_Name"));
_checkbox.Items.Add(new ListItem("收购头数", "RealNumber")); _checkbox.Items.Add(new ListItem("收购头数", "RealNumber"));
_checkbox.Items.Add(new ListItem("榜前重量", "ShackWeight"));
_checkbox.Items.Add(new ListItem("收购重量", "RealWeight"));
_checkbox.Items.Add(new ListItem("原发毛重", "ShackWeight"));
_checkbox.Items.Add(new ListItem("到厂毛重", "RealWeight"));
_checkbox.Items.Add(new ListItem("均重", "均重"));
_checkbox.Items.Add(new ListItem("毛猪等级", "HogGrade_Name"));
_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("实付金额", "ActualMoney"));
_checkbox.Items.Add(new ListItem("应付金额", "Money")); _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("毛重单价", "RawPrice"));
_checkbox.Items.Add(new ListItem("实付单价", "ActualPrice"));
_checkbox.Items.Add(new ListItem("宰前扣款", "ExceptionMoney")); _checkbox.Items.Add(new ListItem("宰前扣款", "ExceptionMoney"));
_checkbox.Items.Add(new ListItem("宰后扣款", "宰后扣款"));
_checkbox.Items.Add(new ListItem("死猪扣款", "DeadPigRewardMoney"));
_checkbox.Items.Add(new ListItem("烫褪头数", "烫褪头数")); _checkbox.Items.Add(new ListItem("烫褪头数", "烫褪头数"));
_checkbox.Items.Add(new ListItem("头数重量", "头数重量")); _checkbox.Items.Add(new ListItem("头数重量", "头数重量"));
@ -104,11 +116,12 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
protected override DQueryDom GetQueryDom() protected override DQueryDom GetQueryDom()
{ {
var query = base.GetQueryDom(); var query = base.GetQueryDom();
var bill = JoinAlias.Create("bill");
var weight=new JoinAlias("mainweight",typeof(WeighBill));
query.From.AddJoin(JoinType.Left,new DQDmoSource(weight),DQCondition.EQ(bill, "Weigh_ID",weight,"ID") );
//query.Where.Conditions.Add(DQCondition.EQ("ID", 445));
var bill = JoinAlias.Create("bill");
tempUnionDom.Register(query); tempUnionDom.Register(query);
var unionAlias = new JoinAlias("tempUnionDom", typeof(tempUnionDom)); var unionAlias = new JoinAlias("tempUnionDom", typeof(tempUnionDom));
query.From.AddJoin(JoinType.Left, new DQDmoSource(unionAlias), DQCondition.EQ(bill, "ID", unionAlias, "StatPay_ID")); query.From.AddJoin(JoinType.Left, new DQDmoSource(unionAlias), DQCondition.EQ(bill, "ID", unionAlias, "StatPay_ID"));
@ -119,19 +132,24 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealWeight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealWeight")));
var = DQExpression.Subtract(, ); var = DQExpression.Subtract(, );
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalWeight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalWeight")));
var = DQExpression.Subtract(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "Money"))), DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "ActualMoney"))));
foreach (ListItem field in _checkbox.Items) foreach (ListItem field in _checkbox.Items)
{ {
if (field.Selected) if (field.Selected)
{ {
switch (field.Text) switch (field.Text)
{ {
case "来源地":
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(weight, "Zone_Name"), field.Text));
query.GroupBy.Expressions.Add(DQExpression.Field(weight, "Zone_Name"));
break;
case "收购日期": case "收购日期":
case "收购类型": case "收购类型":
case "来源地":
case "供应商": case "供应商":
case "业务员": case "业务员":
case "过磅单号": case "过磅单号":
case "毛猪等级":
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(field.Value), field.Text)); query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(field.Value), field.Text));
query.GroupBy.Expressions.Add(DQExpression.Field( field.Value)); query.GroupBy.Expressions.Add(DQExpression.Field( field.Value));
break; break;
@ -147,10 +165,36 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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)); query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, field.Value))), field.Text));
SumColumnIndexs.Add(query.Columns.Count-1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break;
case "盈亏":
query.Columns.Add(DQSelectColumn.Create(, "盈亏"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break;
case "单头盈亏":
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1),DQExpression.Field(unionAlias, "RealNumber")));
var = .ESafeDivide().ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "单头盈亏"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break;
case "宰后扣款":
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1),DQExpression.Field(unionAlias, "OtherRewardMoney")));
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "DeadPigRewardMoney")));
var = DQExpression.Subtract(, DQExpression.IfNull(, DQExpression.Value(0)));
query.Columns.Add(DQSelectColumn.Create(, "宰后扣款"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break; break;
case "损耗": case "损耗":
query.Columns.Add(DQSelectColumn.Create(, "损耗")); query.Columns.Add(DQSelectColumn.Create(, "损耗"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break; break;
case "损耗比": case "损耗比":
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
@ -175,16 +219,16 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
var = DQExpression.SubQuery(Get当天总皮重(bill)); var = DQExpression.SubQuery(Get当天总皮重(bill));
var = DQExpression.SubQuery(Get当天总毛剥头数(bill)); var = DQExpression.SubQuery(Get当天总毛剥头数(bill));
var = DQExpression.Multiply(, .ESafeDivide());
var = DQExpression.Multiply(, .ESafeDivide()).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "皮重")); query.Columns.Add(DQSelectColumn.Create(, "皮重"));
//
break; break;
case "皮肉重量": case "皮肉重量":
query.Columns.Add(DQSelectColumn.Create(, "皮肉重量")); query.Columns.Add(DQSelectColumn.Create(, "皮肉重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break; break;
case "皮肉比": case "皮肉比":
var =DQExpression.Multiply( .ESafeDivide(),DQExpression.Value(100));
var =DQExpression.Multiply( .ESafeDivide(),DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "皮肉比")); query.Columns.Add(DQSelectColumn.Create(, "皮肉比"));
break; break;
case "一二级比": case "一二级比":
@ -220,7 +264,8 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),
DQExpression.Field(unionAlias, "Tang5Number")))); DQExpression.Field(unionAlias, "Tang5Number"))));
query.Columns.Add(DQSelectColumn.Create(, "烫褪头数")); query.Columns.Add(DQSelectColumn.Create(, "烫褪头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break; break;
#region 头数重量 #region 头数重量
@ -261,64 +306,104 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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, "Bo1Number")));
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo1Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo1Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|一级|头数")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|一级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
query.Columns.Add(DQSelectColumn.Create(, "剥皮|一级|重量")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|一级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "剥皮|一级|占比")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|一级|占比"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Number"))), "剥皮|二级|头数")); query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Number"))), "剥皮|二级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|二级|重量")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|二级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "剥皮|二级|占比")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|二级|占比"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Number"))), "剥皮|三级|头数")); query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Number"))), "剥皮|三级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|三级|重量")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|三级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "剥皮|三级|占比")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|三级|占比"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Number"))), "剥皮|四级|头数")); query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Number"))), "剥皮|四级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|四级|重量")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|四级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "剥皮|四级|占比")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|四级|占比"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Number"))), "剥皮|五级|头数")); query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Number"))), "剥皮|五级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|五级|重量")); query.Columns.Add(DQSelectColumn.Create(, "剥皮|五级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "剥皮|五级|占比")); 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, "Tang1Number"))), "烫褪|一级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|一级|重量")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|一级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "烫褪|一级|占比")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|一级|占比"));
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, "Tang2Number"))), "烫褪|二级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|二级|重量")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|二级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "烫褪|二级|占比")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|二级|占比"));
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, "Tang3Number"))), "烫褪|三级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|三级|重量")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|三级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "烫褪|三级|占比")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|三级|占比"));
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, "Tang4Number"))), "烫褪|四级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|四级|重量")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|四级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "烫褪|四级|占比")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|四级|占比"));
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, "Tang5Number"))), "烫褪|五级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Weight"))); var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|五级|重量")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|五级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>(); var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "烫褪|五级|占比")); query.Columns.Add(DQSelectColumn.Create(, "烫褪|五级|占比"));
@ -335,20 +420,42 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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, "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, "Bo1Money"))), "金额|剥皮|一级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Bo2Money"))), "金额|剥皮|二级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Bo3Money"))), "金额|剥皮|三级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Bo4Money"))), "金额|剥皮|四级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Bo5Money"))), "金额|剥皮|五级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Tang1Money"))), "金额|烫褪|一级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Tang2Money"))), "金额|烫褪|二级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Tang3Money"))), "金额|烫褪|三级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Tang4Money"))), "金额|烫褪|四级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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, "Tang5Money"))), "金额|烫褪|五级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break; break;
case "合计金额": case "合计金额":
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalMoney"))), "合计金额")); query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalMoney"))), "合计金额"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
break; break;
#endregion #endregion
default: default:
@ -400,6 +507,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
class tempUnionDom class tempUnionDom
{ {
#region prop
public int UnionType { get; set; } public int UnionType { get; set; }
public long StatPay_ID { get; set; } public long StatPay_ID { get; set; }
@ -409,7 +517,10 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
public decimal? ActualMoney { get; set; } public decimal? ActualMoney { get; set; }
public decimal? Money { get; set; } public decimal? Money { get; set; }
public decimal? RawPrice { get; set; } public decimal? RawPrice { get; set; }
public decimal? ActualPrice { get; set; }
public decimal? ExceptionMoney { get; set; } public decimal? ExceptionMoney { get; set; }
public decimal? OtherRewardMoney { get; set; }
public decimal? DeadPigRewardMoney { get; set; }
public decimal? Bo1Number { get; set; } public decimal? Bo1Number { get; set; }
@ -450,6 +561,8 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
public decimal? TotalMoney { get; set; } public decimal? TotalMoney { get; set; }
public decimal? TotalWeight { get; set; } public decimal? TotalWeight { get; set; }
#endregion
static DQueryDom GetUnionDom() static DQueryDom GetUnionDom()
{ {
var billDom = GetBillDom(); var billDom = GetBillDom();
@ -470,7 +583,10 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
query.Columns.Add(DQSelectColumn.Field("ActualMoney", "ActualMoney")); query.Columns.Add(DQSelectColumn.Field("ActualMoney", "ActualMoney"));
query.Columns.Add(DQSelectColumn.Field("Money", "Money")); query.Columns.Add(DQSelectColumn.Field("Money", "Money"));
query.Columns.Add(DQSelectColumn.Field("RawPrice", "RawPrice")); query.Columns.Add(DQSelectColumn.Field("RawPrice", "RawPrice"));
query.Columns.Add(DQSelectColumn.Field("ActualPrice", "ActualPrice"));
query.Columns.Add(DQSelectColumn.Field("ExceptionMoney", "ExceptionMoney")); query.Columns.Add(DQSelectColumn.Field("ExceptionMoney", "ExceptionMoney"));
query.Columns.Add(DQSelectColumn.Field("OtherRewardMoney", "OtherRewardMoney"));
query.Columns.Add(DQSelectColumn.Field("DeadPigRewardMoney", "DeadPigRewardMoney"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo1Number")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo1Number"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo1Weight")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo1Weight"));
@ -535,7 +651,10 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "ActualMoney")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "ActualMoney"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "Money")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "Money"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "RawPrice")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "RawPrice"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "ActualPrice"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "ExceptionMoney")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "ExceptionMoney"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OtherRewardMoney"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "DeadPigRewardMoney"));
var bo1 = 6; var bo1 = 6;
@ -623,7 +742,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
public static void Register(DQueryDom root) public static void Register(DQueryDom root)
{ {
var butcherQuery = GetUnionDom(); var butcherQuery = GetUnionDom();
root.RegisterQueryTable(typeof(tempUnionDom), new string[] { "UnionType", "StatPay_ID", "RealNumber", "ShackWeight", "RealWeight", "ActualMoney", "Money", "RawPrice", "ExceptionMoney","Bo1Number", "Bo1Weight", "Bo2Number", "Bo2Weight", "Bo3Number", "Bo3Weight", "Bo4Number", "Bo4Weight", "Bo5Number", "Bo5Weight", "Tang1Number", "Tang1Weight", "Tang2Number", "Tang2Weight", "Tang3Number", "Tang3Weight", "Tang4Number", "Tang4Weight", "Tang5Number", "Tang5Weight", "Price1", "Price2", "Price3", "Price4", "Price5", "Bo1Money", "Bo2Money", "Bo3Money", "Bo4Money", "Bo5Money", "Tang1Money", "Tang2Money", "Tang3Money", "Tang4Money", "Tang5Money", "TotalMoney", "TotalWeight" }, butcherQuery);
root.RegisterQueryTable(typeof(tempUnionDom), new string[] { "UnionType", "StatPay_ID", "RealNumber", "ShackWeight", "RealWeight", "ActualMoney", "Money", "RawPrice","ActualPrice", "ExceptionMoney", "OtherRewardMoney", "DeadPigRewardMoney", "Bo1Number", "Bo1Weight", "Bo2Number", "Bo2Weight", "Bo3Number", "Bo3Weight", "Bo4Number", "Bo4Weight", "Bo5Number", "Bo5Weight", "Tang1Number", "Tang1Weight", "Tang2Number", "Tang2Weight", "Tang3Number", "Tang3Weight", "Tang4Number", "Tang4Weight", "Tang5Number", "Tang5Weight", "Price1", "Price2", "Price3", "Price4", "Price5", "Bo1Money", "Bo2Money", "Bo3Money", "Bo4Money", "Bo5Money", "Tang1Money", "Tang2Money", "Tang3Money", "Tang4Money", "Tang5Money", "TotalMoney", "TotalWeight" }, butcherQuery);
} }
} }


+ 14
- 0
B3QingDaoWanFu/TypeIOCs/StatPayBLTypeIoc.cs View File

@ -14,6 +14,20 @@ using TSingSoft.WebPluginFramework;
namespace BWP.B3QingDaoWanFu.TypeIOCs namespace BWP.B3QingDaoWanFu.TypeIOCs
{ {
[TypeIOC(typeof(StatPayBL), typeof(StatPayBL.BaseBLIOCs.BeforeSave))]
public class StatPayBeforeSaveTypeIoc : StatPayBL.BaseBLIOCs.BeforeSave
{
public void Invoke(IDmoContext context, StatPay dmo)
{
var ID = 36;
dmo.DeadPigRewardMoney = dmo.OtherRewardDetails.Where(x=>x.Sanction_ID== ID).Sum(x => (x.Money ?? 0).Value);
var butcherdetail = dmo.Details.FirstOrDefault(x => x.HogGrade_ID.HasValue);
if (butcherdetail != null)
{
dmo.HogGrade_ID = butcherdetail.HogGrade_ID;
}
}
}
[TypeIOC(typeof(StatPayBL), typeof(StatPayBL.BaseBLIOCs.AfterSave))] [TypeIOC(typeof(StatPayBL), typeof(StatPayBL.BaseBLIOCs.AfterSave))]


Loading…
Cancel
Save