|
|
using BWP.B3ButcherManage.BO;
|
|
|
using BWP.B3ButcherManage.NamedValueTemplate;
|
|
|
using BWP.B3Frameworks.BO.NamedValueTemplate;
|
|
|
using BWP.Web.Layout;
|
|
|
using BWP.Web.Utils;
|
|
|
using BWP.Web.WebControls;
|
|
|
using Forks.EnterpriseServices;
|
|
|
using Forks.EnterpriseServices.DomainObjects2;
|
|
|
using Forks.EnterpriseServices.DomainObjects2.DQuery;
|
|
|
using Forks.Utils;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Web.UI.HtmlControls;
|
|
|
using System.Web.UI.WebControls;
|
|
|
using BWP.B3Frameworks.BO.MoneyTemplate;
|
|
|
using BWP.B3ProduceUnitedInfos.BO;
|
|
|
using Forks.EnterpriseServices.DataForm;
|
|
|
using Forks.EnterpriseServices.SqlDoms;
|
|
|
using TSingSoft.WebControls2;
|
|
|
using TSingSoft.WebControls2.DFGrids;
|
|
|
using TSingSoft.WebPluginFramework;
|
|
|
using BWP.B3Frameworks;
|
|
|
|
|
|
namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
|
|
|
{
|
|
|
public class ComprehensiveReport : DFGridReportPage<StatPay>
|
|
|
{
|
|
|
protected override string Caption
|
|
|
{
|
|
|
get { return "收购综合报表"; }
|
|
|
}
|
|
|
// protected override string QueryOptionsTabName
|
|
|
// {
|
|
|
// get
|
|
|
// {
|
|
|
// return "显示字段";
|
|
|
// }
|
|
|
// }
|
|
|
protected override string AccessRoleName
|
|
|
{
|
|
|
get { return "B3QingDaoWanFu.报表.收购综合报表"; }
|
|
|
}
|
|
|
|
|
|
|
|
|
protected override void BeforeInitAllDataQueryResult(DFDataTable table)
|
|
|
{
|
|
|
ResetTable(table);
|
|
|
}
|
|
|
|
|
|
protected override bool AllDataMode {
|
|
|
get { return true; }
|
|
|
}
|
|
|
|
|
|
private void ResetTable(DFDataTable table)
|
|
|
{
|
|
|
decimal sum皮肉重量 = 0;
|
|
|
foreach (DFDataRow row in table.Rows)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var 肉重量 = row["皮肉重量"];
|
|
|
var 皮重 = row["皮重"];
|
|
|
var 皮肉重量 = (Money<金额>?)(objToDecimal(肉重量) + objToDecimal(皮重));
|
|
|
row["皮肉重量"] = 皮肉重量;
|
|
|
sum皮肉重量 += (皮肉重量 ?? 0);
|
|
|
|
|
|
var 到厂毛重 = objToDecimal(row["到厂毛重"]);
|
|
|
row["皮肉比"] = Math.Round((double)(皮肉重量 / 到厂毛重 * 100), 2);
|
|
|
}
|
|
|
catch { }
|
|
|
|
|
|
}
|
|
|
|
|
|
SetCommonDivSumTable(table, "毛重单价", "应付金额", "到厂毛重");
|
|
|
SetCommonDivSumTable(table, "实付单价", "实付金额", "到厂毛重");
|
|
|
SetCommonDivSumTable(table, "单头盈亏", "盈亏", "收购头数");
|
|
|
SetCommonDivSumTable(table, "均重", "到厂毛重", "收购头数");
|
|
|
SetCommonDivSumTable(table, "损耗比", "损耗", "原发毛重",true);
|
|
|
SetCommonDivSumTable(table, "皮肉比", "皮肉重量", "到厂毛重", true);
|
|
|
|
|
|
Set占比(table);
|
|
|
|
|
|
|
|
|
|
|
|
// Set占比(table,);
|
|
|
try
|
|
|
{
|
|
|
table.SumRow["皮肉重量"] = sum皮肉重量;
|
|
|
}
|
|
|
catch { }
|
|
|
}
|
|
|
|
|
|
private void Set占比(DFDataTable table)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var 剥皮一级重量 = objToDecimal(table.SumRow["剥皮|一级|重量"]);
|
|
|
var 剥皮二级重量 = objToDecimal(table.SumRow["剥皮|二级|重量"]);
|
|
|
var 剥皮三级重量 = objToDecimal(table.SumRow["剥皮|三级|重量"]);
|
|
|
var 剥皮四级重量 = objToDecimal(table.SumRow["剥皮|四级|重量"]);
|
|
|
var 剥皮五级重量 = objToDecimal(table.SumRow["剥皮|五级|重量"]);
|
|
|
var 剥皮总重量 = 剥皮一级重量 + 剥皮二级重量 + 剥皮三级重量 + 剥皮四级重量 + 剥皮五级重量;
|
|
|
|
|
|
var 烫褪一级重量 = objToDecimal(table.SumRow["烫褪|一级|重量"]);
|
|
|
var 烫褪二级重量 = objToDecimal(table.SumRow["烫褪|二级|重量"]);
|
|
|
var 烫褪三级重量 = objToDecimal(table.SumRow["烫褪|三级|重量"]);
|
|
|
var 烫褪四级重量 = objToDecimal(table.SumRow["烫褪|四级|重量"]);
|
|
|
var 烫褪五级重量 = objToDecimal(table.SumRow["烫褪|五级|重量"]);
|
|
|
var 烫褪总重量 = 烫褪一级重量 + 烫褪二级重量 + 烫褪三级重量 + 烫褪四级重量 + 烫褪五级重量;
|
|
|
|
|
|
|
|
|
table.SumRow["剥皮|一级|占比"] =Math.Round(剥皮一级重量 / 剥皮总重量*100,2);
|
|
|
table.SumRow["剥皮|二级|占比"] =Math.Round(剥皮二级重量 / 剥皮总重量*100,2);
|
|
|
table.SumRow["剥皮|三级|占比"] =Math.Round(剥皮三级重量 / 剥皮总重量*100,2);
|
|
|
table.SumRow["剥皮|四级|占比"] =Math.Round(剥皮四级重量 / 剥皮总重量*100,2);
|
|
|
table.SumRow["剥皮|五级|占比"] =Math.Round(剥皮五级重量 / 剥皮总重量*100,2);
|
|
|
|
|
|
table.SumRow["烫褪|一级|占比"] =Math.Round(烫褪一级重量 / 烫褪总重量*100,2);
|
|
|
table.SumRow["烫褪|二级|占比"] =Math.Round(烫褪二级重量 / 烫褪总重量*100,2);
|
|
|
table.SumRow["烫褪|三级|占比"] =Math.Round(烫褪三级重量 / 烫褪总重量*100,2);
|
|
|
table.SumRow["烫褪|四级|占比"] =Math.Round(烫褪四级重量 / 烫褪总重量*100,2);
|
|
|
table.SumRow["烫褪|五级|占比"] =Math.Round(烫褪五级重量 / 烫褪总重量*100, 2);
|
|
|
|
|
|
var 一二级重量 = 剥皮一级重量 + 剥皮二级重量 + 烫褪一级重量 + 烫褪二级重量;
|
|
|
var 总重量 = 剥皮总重量 + 烫褪总重量;
|
|
|
table.SumRow["一二级比"] =Math.Round(一二级重量 / 总重量 * 100, 2);
|
|
|
|
|
|
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void SetCommonDivSumTable(DFDataTable table, string sumname,string chu, string chuyi,bool mul100=false)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var value = (Money<金额>?) (objToDecimal(table.SumRow[chu]) / objToDecimal(table.SumRow[chuyi]));
|
|
|
if (mul100)
|
|
|
{
|
|
|
value = value * 100;
|
|
|
}
|
|
|
table.SumRow[sumname] = value;
|
|
|
}
|
|
|
catch { }
|
|
|
}
|
|
|
|
|
|
decimal objToDecimal(object obj)
|
|
|
{
|
|
|
if (obj == null)
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
|
var r = Convert.ToDecimal(obj);
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
protected override void AddQueryControls(VLayoutPanel vPanel)
|
|
|
{
|
|
|
var layoutManager = new LayoutManager("Main", mDFInfo, mQueryContainer);
|
|
|
|
|
|
DFNamedValueInput<单据状态> input;
|
|
|
layoutManager.Add("BillState", input = QueryCreator.一般单据状态(mDFInfo.Fields["BillState"], true));
|
|
|
input.Value = 单据状态.已审核;
|
|
|
var config = new AutoLayoutConfig() { Cols = 4 };
|
|
|
|
|
|
layoutManager.Add("ID", new SimpleLabel("结算单号"), QueryCreator.DFTextBox(mDFInfo.Fields["ID"]));
|
|
|
|
|
|
layoutManager.Add("HotFreshType", new SimpleLabel("热鲜"), QueryCreator.DFNameValueInput<热鲜类型>(mDFInfo.Fields["BillState"]));
|
|
|
|
|
|
config.Add("AccountingUnit_ID");
|
|
|
config.Add("ID");
|
|
|
// config.Add("Weigh_ID");
|
|
|
config.Add("BillState");
|
|
|
config.Add("HotFreshType");
|
|
|
config.Add("Supplier_ID");
|
|
|
config.Add("SupplierClass_ID");
|
|
|
config.Add("Employee_ID");
|
|
|
config.Add("ValuationArea_ID");
|
|
|
config.Add("PurchaseType");
|
|
|
config.Add("Date");
|
|
|
layoutManager.Config = config;
|
|
|
vPanel.Add(layoutManager.CreateLayout());
|
|
|
}
|
|
|
|
|
|
|
|
|
private CheckBoxListWithReverseSelect _checkbox;
|
|
|
protected override void InitQueryPanel(QueryPanel queryPanel)
|
|
|
{
|
|
|
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"));
|
|
|
_checkbox.Items.Add(new ListItem("供应商", "Supplier_Name"));
|
|
|
_checkbox.Items.Add(new ListItem("来源地", "来源地"));
|
|
|
_checkbox.Items.Add(new ListItem("过磅单号", "Weigh_ID"));
|
|
|
_checkbox.Items.Add(new ListItem("结算单号", "ID"));
|
|
|
_checkbox.Items.Add(new ListItem("业务员", "Employee_Name"));
|
|
|
|
|
|
|
|
|
_checkbox.Items.Add(new ListItem("收购头数", "RealNumber"));
|
|
|
_checkbox.Items.Add(new ListItem("均重", "均重"));
|
|
|
_checkbox.Items.Add(new ListItem("毛猪等级", "HogGrade_Name"));
|
|
|
_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("头数重量", "头数重量"));
|
|
|
|
|
|
_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("宰前扣款", "ExceptionMoney"));
|
|
|
_checkbox.Items.Add(new ListItem("宰后扣款", "宰后扣款"));
|
|
|
_checkbox.Items.Add(new ListItem("死猪扣款", "DeadPigRewardMoney"));
|
|
|
|
|
|
_checkbox.Items.Add(new ListItem("实付金额", "ActualMoney"));
|
|
|
_checkbox.Items.Add(new ListItem("应付金额", "Money"));
|
|
|
_checkbox.Items.Add(new ListItem("实付单价", "ActualPrice"));
|
|
|
_checkbox.Items.Add(new ListItem("毛重单价", "RawPrice"));
|
|
|
|
|
|
_checkbox.Items.Add(new ListItem("盈亏", "盈亏"));
|
|
|
_checkbox.Items.Add(new ListItem("单头盈亏", "单头盈亏"));
|
|
|
|
|
|
|
|
|
|
|
|
panel.EAdd(_checkbox);
|
|
|
mQueryControls.Add("显示字段", _checkbox);
|
|
|
mQueryControls.EnableHoldLastControlNames.Add("显示字段");
|
|
|
}
|
|
|
|
|
|
protected override DQueryDom 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"));
|
|
|
var hotFreshInput = mQueryContainer.GetInput("HotFreshType");
|
|
|
if (hotFreshInput != null)
|
|
|
ButcherOrderTemp.AddJoinWithCondition(query, weight, hotFreshInput);
|
|
|
tempUnionDom.Register(query);
|
|
|
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")));
|
|
|
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"))));
|
|
|
|
|
|
var sumColumn = new List<string>();
|
|
|
|
|
|
foreach (ListItem field in _checkbox.Items)
|
|
|
{
|
|
|
if (field.Selected)
|
|
|
{
|
|
|
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 "毛猪等级":
|
|
|
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<Money<金额>>(), "均重"));
|
|
|
break;
|
|
|
|
|
|
case "收购头数":
|
|
|
case "原发毛重":
|
|
|
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));
|
|
|
|
|
|
sumColumn.Add(field.Text);
|
|
|
break;
|
|
|
case "盈亏":
|
|
|
query.Columns.Add(DQSelectColumn.Create(盈亏, "盈亏"));
|
|
|
|
|
|
sumColumn.Add(field.Text);
|
|
|
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(单头盈亏, "单头盈亏"));
|
|
|
|
|
|
// sumColumn.Add(field.Text);
|
|
|
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(宰后不算死猪扣款, "宰后扣款"));
|
|
|
|
|
|
sumColumn.Add(field.Text);
|
|
|
break;
|
|
|
case "损耗":
|
|
|
query.Columns.Add(DQSelectColumn.Create(损耗, "损耗"));
|
|
|
|
|
|
sumColumn.Add(field.Text);
|
|
|
break;
|
|
|
case "损耗比":
|
|
|
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(当天总毛剥头数)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(皮均重, "皮重"));
|
|
|
sumColumn.Add(field.Text);
|
|
|
break;
|
|
|
case "皮肉重量":
|
|
|
query.Columns.Add(DQSelectColumn.Create(皮肉重量, "皮肉重量"));
|
|
|
|
|
|
sumColumn.Add(field.Text);
|
|
|
break;
|
|
|
case "皮肉比":
|
|
|
// var 皮肉比 =DQExpression.Multiply( 皮肉重量.ESafeDivide(榜前重量),DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "皮肉比"));
|
|
|
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(
|
|
|
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(烫褪头数, "烫褪头数"));
|
|
|
|
|
|
sumColumn.Add(field.Text);
|
|
|
break;
|
|
|
|
|
|
#region 头数重量
|
|
|
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(剥皮一级头数, "剥皮|一级|头数"));
|
|
|
sumColumn.Add("剥皮|一级|头数");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮一级重量, "剥皮|一级|重量"));
|
|
|
sumColumn.Add("剥皮|一级|重量");
|
|
|
|
|
|
var 剥皮一级占比 = DQExpression.Multiply(剥皮一级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮一级占比, "剥皮|一级|占比"));
|
|
|
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Number"))), "剥皮|二级|头数"));
|
|
|
sumColumn.Add("剥皮|二级|头数");
|
|
|
|
|
|
var 剥皮二级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮二级重量, "剥皮|二级|重量"));
|
|
|
sumColumn.Add("剥皮|二级|重量");
|
|
|
|
|
|
var 剥皮二级占比 = DQExpression.Multiply(剥皮二级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮二级占比, "剥皮|二级|占比"));
|
|
|
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Number"))), "剥皮|三级|头数"));
|
|
|
sumColumn.Add("剥皮|三级|头数");
|
|
|
|
|
|
var 剥皮三级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮三级重量, "剥皮|三级|重量"));
|
|
|
sumColumn.Add("剥皮|三级|重量");
|
|
|
|
|
|
var 剥皮三级占比 = DQExpression.Multiply(剥皮三级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮三级占比, "剥皮|三级|占比"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Number"))), "剥皮|四级|头数"));
|
|
|
sumColumn.Add("剥皮|四级|头数");
|
|
|
|
|
|
var 剥皮四级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮四级重量, "剥皮|四级|重量"));
|
|
|
sumColumn.Add("剥皮|四级|重量");
|
|
|
|
|
|
var 剥皮四级占比 = DQExpression.Multiply(剥皮四级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮四级占比, "剥皮|四级|占比"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Number"))), "剥皮|五级|头数"));
|
|
|
sumColumn.Add("剥皮|五级|头数");
|
|
|
|
|
|
var 剥皮五级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮五级重量, "剥皮|五级|重量"));
|
|
|
sumColumn.Add("剥皮|五级|重量");
|
|
|
|
|
|
var 剥皮五级占比 = DQExpression.Multiply(剥皮五级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(剥皮五级占比, "剥皮|五级|占比"));
|
|
|
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Number"))), "烫褪|一级|头数"));
|
|
|
sumColumn.Add("烫褪|一级|头数");
|
|
|
|
|
|
var 烫褪一级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪一级重量, "烫褪|一级|重量"));
|
|
|
sumColumn.Add("烫褪|一级|重量");
|
|
|
|
|
|
var 烫褪一级占比 = DQExpression.Multiply(烫褪一级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪一级占比, "烫褪|一级|占比"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Number"))), "烫褪|二级|头数"));
|
|
|
sumColumn.Add("烫褪|二级|头数");
|
|
|
|
|
|
var 烫褪二级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪二级重量, "烫褪|二级|重量"));
|
|
|
sumColumn.Add("烫褪|二级|重量");
|
|
|
|
|
|
var 烫褪二级占比 = DQExpression.Multiply(烫褪二级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪二级占比, "烫褪|二级|占比"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Number"))), "烫褪|三级|头数"));
|
|
|
sumColumn.Add("烫褪|三级|头数");
|
|
|
|
|
|
var 烫褪三级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪三级重量, "烫褪|三级|重量"));
|
|
|
sumColumn.Add("烫褪|三级|重量");
|
|
|
|
|
|
var 烫褪三级占比 = DQExpression.Multiply(烫褪三级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪三级占比, "烫褪|三级|占比"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Number"))), "烫褪|四级|头数"));
|
|
|
sumColumn.Add("烫褪|四级|头数");
|
|
|
|
|
|
var 烫褪四级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪四级重量, "烫褪|四级|重量"));
|
|
|
sumColumn.Add("烫褪|四级|重量");
|
|
|
|
|
|
var 烫褪四级占比 = DQExpression.Multiply(烫褪四级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪四级占比, "烫褪|四级|占比"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Number"))), "烫褪|五级|头数"));
|
|
|
sumColumn.Add("烫褪|五级|头数");
|
|
|
|
|
|
var 烫褪五级重量 = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Weight")));
|
|
|
query.Columns.Add(DQSelectColumn.Create(烫褪五级重量, "烫褪|五级|重量"));
|
|
|
sumColumn.Add("烫褪|五级|重量");
|
|
|
|
|
|
var 烫褪五级占比 = DQExpression.Multiply(烫褪五级重量.ESafeDivide(总重量), DQExpression.Value(100)).ECastType<Money<金额>>();
|
|
|
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"))), "单价|二级"));
|
|
|
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"))), "金额|剥皮|一级"));
|
|
|
sumColumn.Add("金额|剥皮|一级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Money"))), "金额|剥皮|二级"));
|
|
|
sumColumn.Add("金额|剥皮|二级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Money"))), "金额|剥皮|三级"));
|
|
|
sumColumn.Add("金额|剥皮|三级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Money"))), "金额|剥皮|四级"));
|
|
|
sumColumn.Add("金额|剥皮|四级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Money"))), "金额|剥皮|五级"));
|
|
|
sumColumn.Add("金额|剥皮|五级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Money"))), "金额|烫褪|一级"));
|
|
|
sumColumn.Add("金额|烫褪|一级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Money"))), "金额|烫褪|二级"));
|
|
|
sumColumn.Add("金额|烫褪|二级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Money"))), "金额|烫褪|三级"));
|
|
|
sumColumn.Add("金额|烫褪|三级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Money"))), "金额|烫褪|四级"));
|
|
|
sumColumn.Add("金额|烫褪|四级");
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Money"))), "金额|烫褪|五级"));
|
|
|
sumColumn.Add("金额|烫褪|五级");
|
|
|
|
|
|
break;
|
|
|
case "合计金额":
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "TotalMoney"))), "合计金额"));
|
|
|
sumColumn.Add(field.Text);
|
|
|
break;
|
|
|
#endregion
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
foreach (var c in query.Columns)
|
|
|
ColumnNames.Add(c.Name);
|
|
|
foreach (var c in sumColumn)
|
|
|
{
|
|
|
SumColumnNames.Add(c);
|
|
|
GroupSumColumnNamnes.Add(c);
|
|
|
// SubtotalGroupColumnNames.Add(c);
|
|
|
}
|
|
|
|
|
|
|
|
|
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.GreaterThanOrEqual(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.GreaterThanOrEqual(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
|
|
|
{
|
|
|
#region prop
|
|
|
public int UnionType { get; set; }
|
|
|
public long StatPay_ID { get; set; }
|
|
|
|
|
|
public decimal? RealNumber { get; set; }
|
|
|
public decimal? ShackWeight { get; set; }
|
|
|
public decimal? RealWeight { get; set; }
|
|
|
public decimal? ActualMoney { get; set; }
|
|
|
public decimal? Money { get; set; }
|
|
|
public decimal? RawPrice { get; set; }
|
|
|
public decimal? ActualPrice { get; set; }
|
|
|
public decimal? ExceptionMoney { get; set; }
|
|
|
public decimal? OtherRewardMoney { get; set; }
|
|
|
public decimal? DeadPigRewardMoney { get; set; }
|
|
|
|
|
|
|
|
|
public decimal? Bo1Number { get; set; }
|
|
|
public decimal? Bo1Weight { get; set; }
|
|
|
public decimal? Bo2Number { get; set; }
|
|
|
public decimal? Bo2Weight { get; set; }
|
|
|
public decimal? Bo3Number { get; set; }
|
|
|
public decimal? Bo3Weight { get; set; }
|
|
|
public decimal? Bo4Number { get; set; }
|
|
|
public decimal? Bo4Weight { get; set; }
|
|
|
public decimal? Bo5Number { get; set; }
|
|
|
public decimal? Bo5Weight { get; set; }
|
|
|
public decimal? Tang1Number { get; set; }
|
|
|
public decimal? Tang1Weight { get; set; }
|
|
|
public decimal? Tang2Number { get; set; }
|
|
|
public decimal? Tang2Weight { get; set; }
|
|
|
public decimal? Tang3Number { get; set; }
|
|
|
public decimal? Tang3Weight { get; set; }
|
|
|
public decimal? Tang4Number { get; set; }
|
|
|
public decimal? Tang4Weight { get; set; }
|
|
|
public decimal? Tang5Number { get; set; }
|
|
|
public decimal? Tang5Weight { get; set; }
|
|
|
public decimal? Price1 { get; set; }
|
|
|
public decimal? Price2 { get; set; }
|
|
|
public decimal? Price3 { get; set; }
|
|
|
public decimal? Price4 { get; set; }
|
|
|
public decimal? Price5 { get; set; }
|
|
|
public decimal? Bo1Money { get; set; }
|
|
|
public decimal? Bo2Money { get; set; }
|
|
|
public decimal? Bo3Money { get; set; }
|
|
|
public decimal? Bo4Money { get; set; }
|
|
|
public decimal? Bo5Money { get; set; }
|
|
|
public decimal? Tang1Money { get; set; }
|
|
|
public decimal? Tang2Money { get; set; }
|
|
|
public decimal? Tang3Money { get; set; }
|
|
|
public decimal? Tang4Money { get; set; }
|
|
|
public decimal? Tang5Money { get; set; }
|
|
|
public decimal? TotalMoney { get; set; }
|
|
|
public decimal? TotalWeight { get; set; }
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
static DQueryDom GetUnionDom()
|
|
|
{
|
|
|
var billDom = GetBillDom();
|
|
|
var detailDom = GetDetailDom();
|
|
|
billDom.UnionNext.Select = detailDom;
|
|
|
return billDom;
|
|
|
}
|
|
|
|
|
|
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.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"));
|
|
|
query.Columns.Add(DQSelectColumn.Field("ActualMoney", "ActualMoney"));
|
|
|
query.Columns.Add(DQSelectColumn.Field("Money", "Money"));
|
|
|
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("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?>(), "Bo1Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo2Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo2Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo3Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo3Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo4Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo4Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo5Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo5Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang1Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang1Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang2Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang2Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang3Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang3Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang4Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang4Weight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang5Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang5Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Price1"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Price2"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Price3"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Price4"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Price5"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo1Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo2Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo3Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo4Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Bo5Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang1Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang2Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "Tang3Money"));
|
|
|
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.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "ByProductWeight"));
|
|
|
|
|
|
return query;
|
|
|
}
|
|
|
|
|
|
static DQueryDom GetDetailDom()
|
|
|
{
|
|
|
var detail = new JoinAlias("detail", typeof(StatPay_Butcher));
|
|
|
var bill = new JoinAlias("bill", typeof(StatPay));
|
|
|
|
|
|
var query = new DQueryDom(detail);
|
|
|
query.From.AddJoin(JoinType.Inner, new DQDmoSource(bill), DQCondition.EQ(bill, "ID", detail, "StatPay_ID"));
|
|
|
|
|
|
query.GroupBy.Expressions.Add(DQExpression.Field(detail, "StatPay_ID"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Value<int>(2), "UnionType"));
|
|
|
query.Columns.Add(DQSelectColumn.Field("StatPay_ID", detail, "StatPay_ID"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "RealNumber"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "ShackWeight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "RealWeight"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "ActualMoney"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "Money"));
|
|
|
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, "OtherRewardMoney"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "DeadPigRewardMoney"));
|
|
|
|
|
|
|
|
|
var bo1 = 6;
|
|
|
var bo2 = 7;
|
|
|
var bo3 = 8;
|
|
|
var bo4 = 9;
|
|
|
var bo5 = 10;
|
|
|
|
|
|
var tang1 = 1;
|
|
|
var tang2 = 2;
|
|
|
var tang3 = 3;
|
|
|
var tang4 = 4;
|
|
|
var tang5 = 5;
|
|
|
|
|
|
#region 重量头数
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo1)), DQExpression.Field("Number"), DQExpression.Value(0))), "Bo1Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo1)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Bo1Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo2)), DQExpression.Field("Number"), DQExpression.Value(0))), "Bo2Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo2)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Bo2Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo3)), DQExpression.Field("Number"), DQExpression.Value(0))), "Bo3Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo3)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Bo3Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo4)), DQExpression.Field("Number"), DQExpression.Value(0))), "Bo4Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo4)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Bo4Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo5)), DQExpression.Field("Number"), DQExpression.Value(0))), "Bo5Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo5)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Bo5Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang1)), DQExpression.Field("Number"), DQExpression.Value(0))), "Tang1Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang1)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Tang1Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang2)), DQExpression.Field("Number"), DQExpression.Value(0))), "Tang2Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang2)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Tang2Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang3)), DQExpression.Field("Number"), DQExpression.Value(0))), "Tang3Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang3)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Tang3Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang4)), DQExpression.Field("Number"), DQExpression.Value(0))), "Tang4Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang4)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Tang4Weight"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang5)), DQExpression.Field("Number"), DQExpression.Value(0))), "Tang5Number"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang5)), DQExpression.Field("Weight"), DQExpression.Value(0))), "Tang5Weight"));
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 单价金额
|
|
|
//烫褪 毛剥 价格一样
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang1)), DQExpression.Field("Price"), DQExpression.Value(0))), "Price1"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang2)), DQExpression.Field("Price"), DQExpression.Value(0))), "Price2"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang3)), DQExpression.Field("Price"), DQExpression.Value(0))), "Price3"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang4)), DQExpression.Field("Price"), DQExpression.Value(0))), "Price4"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Max(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang5)), DQExpression.Field("Price"), DQExpression.Value(0))), "Price5"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo1)), DQExpression.Field("Money"), DQExpression.Value(0))), "Bo1Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo2)), DQExpression.Field("Money"), DQExpression.Value(0))), "Bo2Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo3)), DQExpression.Field("Money"), DQExpression.Value(0))), "Bo3Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo4)), DQExpression.Field("Money"), DQExpression.Value(0))), "Bo4Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.毛剥), DQCondition.EQ("Livestock_ID", bo5)), DQExpression.Field("Money"), DQExpression.Value(0))), "Bo5Money"));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang1)), DQExpression.Field("Money"), DQExpression.Value(0))), "Tang1Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang2)), DQExpression.Field("Money"), DQExpression.Value(0))), "Tang2Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang3)), DQExpression.Field("Money"), DQExpression.Value(0))), "Tang3Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang4)), DQExpression.Field("Money"), DQExpression.Value(0))), "Tang4Money"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.LogicCase(DQCondition.And(DQCondition.EQ("Technics", 工艺.烫褪), DQCondition.EQ("Livestock_ID", tang5)), DQExpression.Field("Money"), DQExpression.Value(0))), "Tang5Money"));
|
|
|
|
|
|
|
|
|
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));
|
|
|
|
|
|
return query;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static void Register(DQueryDom root)
|
|
|
{
|
|
|
var butcherQuery = GetUnionDom();
|
|
|
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);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
class ButcherOrderTemp
|
|
|
{
|
|
|
public long? Weigh_ID { get; set; }
|
|
|
|
|
|
public static void AddJoinWithCondition(DQueryDom root, JoinAlias weighBill, object hotFreshType)
|
|
|
{
|
|
|
var main = new JoinAlias(typeof(ButcherOrder));
|
|
|
var detail = new JoinAlias(typeof(ButcherOrder_Detail));
|
|
|
var query = new DQueryDom(detail);
|
|
|
query.From.AddJoin(JoinType.Inner, new DQDmoSource(main), DQCondition.EQ(main, "ID", detail, "ButcherOrder_ID"));
|
|
|
query.Columns.Add(DQSelectColumn.Field("WeighBill_ID"));
|
|
|
query.GroupBy.Expressions.Add(DQExpression.Field("WeighBill_ID"));
|
|
|
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ(main, "Domain_ID", DomainContext.Current.ID), DQCondition.GreaterThanOrEqual(main, "BillState", 单据状态.已审核), DQCondition.EQ("HotFreshType", hotFreshType)));
|
|
|
var alias = new JoinAlias(typeof(ButcherOrderTemp));
|
|
|
root.RegisterQueryTable(typeof(ButcherOrderTemp), new string[] { "Weigh_ID" }, query);
|
|
|
root.From.AddJoin(JoinType.Inner, new DQDmoSource(alias), DQCondition.EQ(weighBill, "ID", alias, "Weigh_ID"));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|