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.WebControls;
|
|
using TSingSoft.WebControls2;
|
|
|
|
namespace BWP.Web.Pages.B3QingDaoWanFu.Reports
|
|
{
|
|
public class ComprehensiveReport : DFBrowseGridReportPage<StatPay>
|
|
{
|
|
protected override string Caption
|
|
{
|
|
get { return "收购综合报表"; }
|
|
}
|
|
protected override string QueryOptionsTabName
|
|
{
|
|
get
|
|
{
|
|
return "显示字段";
|
|
}
|
|
}
|
|
protected override string AccessRoleName
|
|
{
|
|
get { return "B3QingDaoWanFu.报表.收购综合报表"; }
|
|
}
|
|
|
|
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 = 2 };
|
|
|
|
config.Add("AccountingUnit_ID");
|
|
config.Add("ID");
|
|
config.Add("BillState");
|
|
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("来源地", "Supplier_Address"));
|
|
_checkbox.Items.Add(new ListItem("过磅单号", "Weigh_ID"));
|
|
_checkbox.Items.Add(new ListItem("收购日期", "WeighTime"));
|
|
_checkbox.Items.Add(new ListItem("收购头数", "RealNumber"));
|
|
_checkbox.Items.Add(new ListItem("毛猪等级", ""));//todo
|
|
_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("工艺", "Technics"));
|
|
_checkbox.Items.Add(new ListItem("头数", "Number"));
|
|
_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("收购金额", "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("合并单元格") { Selected = false });
|
|
panel.EAdd(_checkbox);
|
|
mQueryControls.Add("显示字段", _checkbox);
|
|
mQueryControls.EnableHoldLastControlNames.Add("显示字段");
|
|
}
|
|
|
|
protected override DQueryDom GetQueryDom()
|
|
{
|
|
var query = base.GetQueryDom();
|
|
var bill = JoinAlias.Create("bill");
|
|
|
|
|
|
//屠宰明细
|
|
var detail = new JoinAlias(typeof(StatPay_Butcher));
|
|
query.From.AddJoin(Forks.EnterpriseServices.SqlDoms.JoinType.Inner, new DQDmoSource(detail), DQCondition.EQ(bill, "ID", detail, "StatPay_ID"));
|
|
|
|
foreach (ListItem field in _checkbox.Items)
|
|
{
|
|
if (field.Selected)
|
|
{
|
|
switch (field.Text)
|
|
{
|
|
case "会计单位":
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
//if (UseWeightSumRate2)
|
|
//{
|
|
// DetailTemp.Register(query);
|
|
// var details = new JoinAlias("_temp1", typeof(DetailTemp));
|
|
// query.From.AddJoin(JoinType.Left, new DQDmoSource(details), DQCondition.EQ(bill, "ID", details, "ID"));
|
|
// mDisplayOptionHelper.AddAlias("_temp1", details);
|
|
|
|
// ButcherTemp.Register(query);
|
|
// var totaoMao = new JoinAlias("_butcherTemp", typeof(ButcherTemp));
|
|
// query.From.AddJoin(JoinType.Left, new DQDmoSource(totaoMao), DQCondition.EQ(details, "Butcher_ID", totaoMao, "ID"));
|
|
// mDisplayOptionHelper.AddAlias("_butcherTemp", totaoMao);
|
|
|
|
// ByProductRecordTemp.Register(query);
|
|
// var bpr = new JoinAlias("_bpr", typeof(ByProductRecordTemp));
|
|
// query.From.AddJoin(JoinType.Left, new DQDmoSource(bpr), DQCondition.And(DQCondition.EQ(bill, "AccountingUnit_ID", bpr, "AccountingUnit_ID"), DQCondition.EQ(totaoMao, "Date", bpr, "Date")));
|
|
// mDisplayOptionHelper.AddAlias("_bpr", bpr);
|
|
//}
|
|
|
|
|
|
|
|
|
|
mDisplayOptionHelper.AddSelectColumns(query, (name) => OptionIsSelected("显示字段", name), SumColumnIndexs, GroupSumColumnIndexs);
|
|
return query;
|
|
}
|
|
|
|
}
|
|
|
|
class tempUnionButcher
|
|
{
|
|
public long StatPay_ID { get; set; }
|
|
|
|
[LogicName("级别")]
|
|
public string Livestock_Name { get; set; }
|
|
|
|
[LogicName("级别")]
|
|
public long? Livestock_ID { get; set; }
|
|
|
|
[LogicName("工艺")]
|
|
public NamedValue<工艺>? Technics { get; set; }
|
|
|
|
|
|
[LogicName("头数")]
|
|
public int? Number { get; set; }
|
|
|
|
[LogicName("重量")]
|
|
public Money<decimal>? Weight { get; set; }
|
|
|
|
|
|
|
|
|
|
public static void Register(DQueryDom root)
|
|
{
|
|
var butcher = new JoinAlias("butcher", typeof(StatPay_Butcher));
|
|
var butcherQuery = new DQueryDom(butcher);
|
|
butcherQuery.Columns.Add(DQSelectColumn.Field("StatPay_ID"));
|
|
butcherQuery.Columns.Add(DQSelectColumn.Field("Livestock_ID"));
|
|
butcherQuery.Columns.Add(DQSelectColumn.Field("Livestock_Name"));
|
|
butcherQuery.Columns.Add(DQSelectColumn.Field("Technics"));
|
|
butcherQuery.Columns.Add(DQSelectColumn.Field("Number"));
|
|
butcherQuery.Columns.Add(DQSelectColumn.Field("Weight"));
|
|
root.RegisterQueryTable(typeof(tempUnionButcher), new string[] { "StatPay_ID", "Livestock_ID", "Livestock_Name", "Technics", "Number", "Weight" }, butcherQuery);
|
|
|
|
}
|
|
}
|
|
}
|