Browse Source

报表

master
luanhui 8 years ago
parent
commit
ecd43c5d75
1 changed files with 117 additions and 27 deletions
  1. +117
    -27
      B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs

+ 117
- 27
B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs View File

@ -26,13 +26,13 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
{
get { return "收购综合报表"; }
}
protected override string QueryOptionsTabName
{
get
{
return "显示字段";
}
}
// protected override string QueryOptionsTabName
// {
// get
// {
// return "显示字段";
// }
// }
protected override string AccessRoleName
{
get { return "B3QingDaoWanFu.报表.收购综合报表"; }
@ -68,6 +68,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
{
base.InitQueryPanel(queryPanel);
var panel = queryPanel.CreateTab("显示字段");
_checkbox = new CheckBoxListWithReverseSelect { RepeatColumns = 6, RepeatDirection = RepeatDirection.Horizontal };
_checkbox.Items.Add(new ListItem("收购日期", "WeighTime"));
_checkbox.Items.Add(new ListItem("收购类型", "PurchaseType"));
@ -84,18 +85,17 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
_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("烫褪头数", "烫褪头数"));
_checkbox.Items.Add(new ListItem("毛猪等级", ""));//todo
_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("合并单元格") { Selected = false });
panel.EAdd(_checkbox);
mQueryControls.Add("显示字段", _checkbox);
mQueryControls.EnableHoldLastControlNames.Add("显示字段");
@ -113,10 +113,12 @@ 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"));
query.GroupBy.Expressions.Add(DQExpression.Field(bill,"Date"));
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(, );
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalWeight")));
foreach (ListItem field in _checkbox.Items)
{
@ -154,6 +156,54 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
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, "Bo1Number"))),
DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),
DQExpression.Field(unionAlias, "Bo2Number")))),
DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),
DQExpression.Field(unionAlias, "Bo3Number")))),
DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),
DQExpression.Field(unionAlias, "Bo4Number")))),
DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),
DQExpression.Field(unionAlias, "Bo5Number"))));
var = DQExpression.SubQuery(Get当天总皮重(bill));
var = DQExpression.SubQuery(Get当天总毛剥头数(bill));
var = DQExpression.Multiply(, .ESafeDivide());
query.Columns.Add(DQSelectColumn.Create(, "皮重"));
//
break;
case "皮肉重量":
query.Columns.Add(DQSelectColumn.Create(, "皮肉重量"));
break;
case "皮肉比":
var =DQExpression.Multiply( .ESafeDivide(),DQExpression.Value(100));
query.Columns.Add(DQSelectColumn.Create(, "皮肉比"));
break;
case "一二级比":
var = 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, "Tang1Weight")))),
DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),
DQExpression.Field(unionAlias, "Tang2Weight")))
);
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "一二级比"));
break;
case "烫褪头数":
var = DQExpression.Add(
DQExpression.Add(
@ -172,8 +222,9 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
query.Columns.Add(DQSelectColumn.Create(, "烫褪头数"));
break;
case "头数重量":
#region 头数重量
case "头数重量":
var = DQExpression.Add(
DQExpression.Add(
DQExpression.Add(
@ -272,6 +323,10 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
query.Columns.Add(DQSelectColumn.Create(, "烫褪|五级|占比"));
break;
#endregion
#region 单价金额
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"))), "单价|二级"));
@ -290,10 +345,12 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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"))), "金额|烫褪|五级"));
break;
case "合计金额":
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalMoney"))), "合计金额"));
break;
#endregion
default:
break;
}
@ -307,6 +364,38 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
return query;
}
private DQueryDom Get当天总毛剥头数(JoinAlias bill)
{
var stat=new JoinAlias("bonumber",typeof(StatPay));
var statdetail=new JoinAlias("bonumberdetail",typeof(StatPay_Butcher));
var query=new DQueryDom(stat);
query.From.AddJoin(JoinType.Inner,new DQDmoSource(statdetail),DQCondition.EQ(stat,"ID",statdetail, "StatPay_ID") );
// query.Where.Conditions.Add(DQCondition.EQ(DQExpression.Snippet("CAST(CONVERT(varchar(10), [bill].[Date], 120 )as smalldatetime)"),DQExpression.Snippet("CAST(CONVERT(varchar(10), [bonumber].[Date], 120 )as smalldatetime)")));
query.Where.Conditions.Add(DQCondition.EQ(bill, "Date", stat, "Date"));
query.Where.Conditions.Add(DQCondition.EQ(statdetail, "Technics",.));
query.Where.Conditions.Add(DQCondition.GreaterThan(stat,"BillState",.));
query.Columns.Add(DQSelectColumn.Sum(statdetail, "Number"));
return query;
}
private DQueryDom Get当天总皮重(JoinAlias bill)
{
var main = new JoinAlias("byproduct", typeof(ByProductRecord));
var detail = new JoinAlias("byproductdetail", typeof(ByProductDetailed));
var query = new DQueryDom(main);
query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(main, "ID", detail, "ByProduct_ID"));
query.Where.Conditions.Add(DQCondition.EQ(bill, "Date", main, "ButcherDate"));
query.Where.Conditions.Add(DQCondition.GreaterThan(main, "BillState", .));
// query.Where.Conditions.Add(DQCondition.EQ(DQExpression.Snippet("CAST(CONVERT(varchar(10), [bill].[Date], 120 )as smalldatetime)"), DQExpression.Snippet("CAST(CONVERT(varchar(10), [byproduct].[ButcherDate], 120 )as smalldatetime)")));
query.Columns.Add(DQSelectColumn.Sum(detail, "Weight"));
return query;
}
class tempUnionDom
@ -359,6 +448,8 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
public decimal? Tang4Money { get; set; }
public decimal? Tang5Money { get; set; }
public decimal? TotalMoney { get; set; }
public decimal? TotalWeight { get; set; }
static DQueryDom GetUnionDom()
{
var billDom = GetBillDom();
@ -370,10 +461,9 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
static DQueryDom GetBillDom()
{
var query = new DQueryDom(new JoinAlias("statpay", typeof(StatPay)));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value<int>(1), "UnionType"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value<int>(1), "UnionType"));
query.Columns.Add(DQSelectColumn.Field("ID", "StatPay_ID"));
query.Columns.Add(DQSelectColumn.Field("RealNumber", "RealNumber"));
query.Columns.Add(DQSelectColumn.Field("ShackWeight", "ShackWeight"));
query.Columns.Add(DQSelectColumn.Field("RealWeight", "RealWeight"));
@ -382,7 +472,6 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
query.Columns.Add(DQSelectColumn.Field("RawPrice", "RawPrice"));
query.Columns.Add(DQSelectColumn.Field("ExceptionMoney", "ExceptionMoney"));
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?>(), "Bo2Number"));
@ -420,9 +509,11 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang4Money"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang5Money"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "TotalMoney"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "TotalWeight"));
//query.Where.Conditions.Add(DQCondition.EQ("ID", 445));
// query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "ByProductWeight"));
return query;
}
@ -516,11 +607,11 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("Money")), "TotalMoney"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("Weight")), "TotalWeight"));
#endregion
// query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "ByProductWeight"));
//query.Where.Conditions.Add(DQCondition.EQ(bill, "ID", 445));
@ -528,12 +619,11 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
}
public static void Register(DQueryDom root)
{
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" }, butcherQuery);
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);
}
}


Loading…
Cancel
Save