You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

195 lines
7.3 KiB

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