Browse Source

锁定 合计 排序

master
luanhui 8 years ago
parent
commit
141df1e582
4 changed files with 308 additions and 164 deletions
  1. +3
    -0
      B3QingDaoWanFu.Web/B3QingDaoWanFu.Web.csproj
  2. +63
    -0
      B3QingDaoWanFu.Web/DFGridReportPage.cs
  3. +238
    -164
      B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs
  4. +4
    -0
      B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.xml

+ 3
- 0
B3QingDaoWanFu.Web/B3QingDaoWanFu.Web.csproj View File

@ -130,6 +130,9 @@
<Compile Include="..\..\..\version\Customer_version.cs">
<Link>Customer_version.cs</Link>
</Compile>
<Compile Include="DFGridReportPage.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Pages\B3QingDaoWanFu\Overlays\StatPayAnalyse_Ext.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>


+ 63
- 0
B3QingDaoWanFu.Web/DFGridReportPage.cs View File

@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Forks.EnterpriseServices.DataForm;
using TSingSoft.WebControls2;
namespace BWP.Web
{
public abstract class DFGridReportPage<T> : DFGridReportPage
{
protected DFInfo mDFInfo = DFInfo.Get(typeof(T));
protected override void InitForm(System.Web.UI.HtmlControls.HtmlForm form)
{
if (fromSuperScreen)
{
mQueryContainer = QueryContainer.FromResource(BasisType.FullName + ".xml", BasisType.Assembly);
mQueryControls.QueryContainer = mQueryContainer;
var queryContainerScript = new QueryContainerScript(mQueryContainer) { ID = "QueryContainer" };
form.Controls.Add(queryContainerScript);
var vPanel = form.EAdd(new VLayoutPanel());
AddResultControls(vPanel);
if (!string.IsNullOrEmpty(ResultHeightClientExpression))
{
vPanel.PreRender += (sender, e) =>
{
var script = "$(function(){$('#{ClientID}').css('max-height',({ResultHeightClientExpression})+'px');});"
.Replace("{ClientID}", vPanel.ClientID)
.Replace("{ResultHeightClientExpression}", ResultHeightClientExpression);
vPanel.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ResultHeightClientExpression", script, true);
};
}
}
else
base.InitForm(form);
mDFGrid.HeaderPagerLock = true;
mDFGrid.AllowColGroup = true;
mDFGrid.AllowSorting = true;
}
protected bool fromSuperScreen
{
get { return !string.IsNullOrEmpty(Request.QueryString["type"]); }
}
protected override bool EnableExcelExport
{
get
{
return !fromSuperScreen;
}
}
protected override bool EnablePrint
{
get
{
return !fromSuperScreen;
}
}
}
}

+ 238
- 164
B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.cs View File

@ -12,80 +12,139 @@ 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;
namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
{
public class ComprehensiveReport : DFBrowseGridReportPage<StatPay>
public class ComprehensiveReport : DFGridReportPage<StatPay>
{
protected override string Caption
{
get { return "收购综合报表"; }
}
// protected override string QueryOptionsTabName
// {
// get
// {
// return "显示字段";
// }
// }
// protected override string QueryOptionsTabName
// {
// get
// {
// return "显示字段";
// }
// }
protected override string AccessRoleName
{
get { return "B3QingDaoWanFu.报表.收购综合报表"; }
}
protected override void InitBrowseGrid(DFBrowseGrid grid)
protected override void AfterGetDFDataTable(DFDataTable table)
{
base.InitBrowseGrid(grid);
grid.DataFilter = (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{}
ResetTable(table);
}
}
protected override bool AllDataMode {
get { return true; }
}
private void ResetTable(DFDataTable table)
{
decimal sum皮肉重量 = 0;
foreach (DFDataRow row in table.Rows)
{
try
{
table.SumRow["毛重单价"] = (Money<>?)(objToDecimal(table.SumRow["应付金额"]) / objToDecimal(table.SumRow["到厂毛重"]));
}
catch {}
try
{
table.SumRow["实付单价"] = (Money<>?)(objToDecimal(table.SumRow["实付金额"]) / objToDecimal(table.SumRow["到厂毛重"]));
var = row["皮肉重量"];
var = row["皮重"];
var = (Money<>?)(objToDecimal() + objToDecimal());
row["皮肉重量"] = ;
sum皮肉重量 += ( ?? 0);
var = objToDecimal(row["到厂毛重"]);
row["皮肉比"] = Math.Round((double)( / * 100), 2);
}
catch {}
catch { }
try
{
table.SumRow["实付单价"] = (Money<>?)(objToDecimal(table.SumRow["实付金额"]) / objToDecimal(table.SumRow["到厂毛重"]));
}
catch {}
try
}
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)
{
table.SumRow["皮肉重量"] = sum皮肉重量;
value = value * 100;
}
catch {}
};
table.SumRow[sumname] = value;
}
catch { }
}
decimal objToDecimal(object obj)
@ -107,8 +166,11 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
input.Value = .;
var config = new AutoLayoutConfig() { Cols = 2 };
layoutManager.Add("ID", new SimpleLabel("结算单号"), QueryCreator.DFTextBox(mDFInfo.Fields["ID"]));
config.Add("AccountingUnit_ID");
config.Add("ID");
// config.Add("Weigh_ID");
config.Add("BillState");
config.Add("Supplier_ID");
config.Add("SupplierClass_ID");
@ -133,27 +195,17 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
_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("原发毛重", "ShackWeight"));
_checkbox.Items.Add(new ListItem("到厂毛重", "RealWeight"));
_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("实付金额", "ActualMoney"));
_checkbox.Items.Add(new ListItem("应付金额", "Money"));
_checkbox.Items.Add(new ListItem("盈亏", "盈亏"));
_checkbox.Items.Add(new ListItem("单头盈亏", "单头盈亏"));
_checkbox.Items.Add(new ListItem("毛重单价", "RawPrice"));
_checkbox.Items.Add(new ListItem("实付单价", "ActualPrice"));
_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("头数重量", "头数重量"));
@ -164,6 +216,21 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
_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);
@ -175,22 +242,24 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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 weight = new JoinAlias("mainweight", typeof(WeighBill));
query.From.AddJoin(JoinType.Left, new DQDmoSource(weight), DQCondition.EQ(bill, "Weigh_ID", weight, "ID"));
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"));
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)
@ -206,9 +275,10 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
case "供应商":
case "业务员":
case "过磅单号":
case "结算单号":
case "毛猪等级":
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;
case "均重":
@ -225,34 +295,34 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
case "宰前扣款":
case "死猪扣款":
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);
sumColumn.Add(field.Text);
break;
case "盈亏":
query.Columns.Add(DQSelectColumn.Create(, "盈亏"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add(field.Text);
break;
case "单头盈亏":
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1),DQExpression.Field(unionAlias, "RealNumber")));
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 1), DQExpression.Field(unionAlias, "RealNumber")));
var = .ESafeDivide().ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "单头盈亏"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
// 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, "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);
sumColumn.Add(field.Text);
break;
case "损耗":
query.Columns.Add(DQSelectColumn.Create(, "损耗"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add(field.Text);
break;
case "损耗比":
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
@ -274,23 +344,24 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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.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(, "皮肉重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add(field.Text);
break;
case "皮肉比":
// var 皮肉比 =DQExpression.Multiply( 皮肉重量.ESafeDivide(榜前重量),DQExpression.Value(100)).ECastType<Money<金额>>();
// var 皮肉比 =DQExpression.Multiply( 皮肉重量.ESafeDivide(榜前重量),DQExpression.Value(100)).ECastType<Money<金额>>();
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "皮肉比"));
break;
case "一二级比":
var = DQExpression.Add(
var = DQExpression.Add(
DQExpression.Add(
DQExpression.Add(
DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),
@ -322,8 +393,8 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2),
DQExpression.Field(unionAlias, "Tang5Number"))));
query.Columns.Add(DQSelectColumn.Create(, "烫褪头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add(field.Text);
break;
#region 头数重量
@ -364,104 +435,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, "Bo1Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|一级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("剥皮|一级|头数");
query.Columns.Add(DQSelectColumn.Create(, "剥皮|一级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "剥皮|二级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("剥皮|二级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo2Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|二级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "剥皮|三级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("剥皮|三级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo3Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|三级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "剥皮|四级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("剥皮|四级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo4Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|四级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "剥皮|五级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("剥皮|五级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Bo5Weight")));
query.Columns.Add(DQSelectColumn.Create(, "剥皮|五级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "烫褪|一级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("烫褪|一级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang1Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|一级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "烫褪|二级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("烫褪|二级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang2Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|二级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "烫褪|三级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("烫褪|三级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang3Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|三级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "烫褪|四级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("烫褪|四级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang4Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|四级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
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"))), "烫褪|五级|头数"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("烫褪|五级|头数");
var = DQExpression.Sum(DQExpression.LogicCase(DQCondition.EQ(unionAlias, "UnionType", 2), DQExpression.Field(unionAlias, "Tang5Weight")));
query.Columns.Add(DQSelectColumn.Create(, "烫褪|五级|重量"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("烫褪|五级|重量");
var = DQExpression.Multiply(.ESafeDivide(), DQExpression.Value(100)).ECastType<Money<>>();
query.Columns.Add(DQSelectColumn.Create(, "烫褪|五级|占比"));
@ -478,42 +549,39 @@ 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, "Bo1Money"))), "金额|剥皮|一级"));
SumColumnIndexs.Add(query.Columns.Count - 1);
GroupSumColumnIndexs.Add(query.Columns.Count - 1);
sumColumn.Add("金额|剥皮|一级");
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);
sumColumn.Add("金额|剥皮|二级");
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);
sumColumn.Add("金额|剥皮|三级");
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);
sumColumn.Add("金额|剥皮|四级");
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);
sumColumn.Add("金额|剥皮|五级");
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);
sumColumn.Add("金额|烫褪|一级");
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);
sumColumn.Add("金额|烫褪|二级");
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);
sumColumn.Add("金额|烫褪|三级");
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);
sumColumn.Add("金额|烫褪|四级");
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);
sumColumn.Add("金额|烫褪|五级");
break;
case "合计金额":
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);
sumColumn.Add(field.Text);
break;
#endregion
default:
@ -522,8 +590,14 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
}
}
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;
@ -531,16 +605,16 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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") );
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(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.Where.Conditions.Add(DQCondition.EQ(statdetail, "Technics", .));
query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual(stat, "BillState", .));
query.Columns.Add(DQSelectColumn.Sum(statdetail, "Number"));
return query;
@ -686,7 +760,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "TotalWeight"));
// query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "ByProductWeight"));
// query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "ByProductWeight"));
return query;
}
@ -713,12 +787,12 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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 bo1 = 6;
var bo2 = 7;
var bo3 = 8;
var bo4 = 9;
var bo5 = 10;
var tang1 = 1;
@ -769,7 +843,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
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"));
@ -788,7 +862,7 @@ namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
#endregion
// query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "ByProductWeight"));
// query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL.ECastType<decimal?>(), "ByProductWeight"));
//query.Where.Conditions.Add(DQCondition.EQ(bill, "ID", 445));
@ -800,7 +874,7 @@ 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","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);
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);
}
}


+ 4
- 0
B3QingDaoWanFu.Web/Pages/B3QingDaoWanFu/Reports/ComprehensiveReport.xml View File

@ -13,6 +13,10 @@
<Field name="ID" alias="bill"/>
<QBE paramName="ID"/>
</EQ>
<EQ>
<Field name="Weigh_ID" alias="bill"/>
<QBE paramName="Weigh_ID"/>
</EQ>
<EQ>
<Field name="AccountingUnit_ID" alias="bill"/>
<QBE paramName="AccountingUnit_ID"/>


Loading…
Cancel
Save