|
|
|
@ -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); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|