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.
 

115 lines
4.9 KiB

using BWP.B3Frameworks;
using BWP.B3Frameworks.Utils;
using BWP.B3ProcurementInterface.Utils;
using BWP.B3SheepButcherManage.BO;
using BWP.Web.Layout;
using BWP.Web.Utils;
using Forks.EnterpriseServices.DataForm;
using Forks.EnterpriseServices.DomainObjects2;
using Forks.EnterpriseServices.DomainObjects2.DQuery;
using Forks.EnterpriseServices.SqlDoms;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TSingSoft.WebControls2;
namespace BWP.Web.Pages.B3SheepButcherManage.Reports.HurryButcherAnalyse_
{
class HurryButcherAnalyse : DFBrowseGridReportPage<HurryButcher>
{
protected override string Caption
{
get { return "急宰单分析"; }
}
protected override string QueryOptionsTabName
{
get
{
return "显示字段";
}
}
protected override string AccessRoleName
{
get { return "B3SheepButcherManage.羊急宰单.访问"; }
}
readonly Dictionary<string, DFInfo> _fileInfo = new Dictionary<string, DFInfo>();
readonly List<string> _sumCol = new List<string>();
protected override void AddQueryControls(VLayoutPanel vPanel)
{
var layout = new LayoutManager("Main", mDFInfo, mQueryContainer);
layout.Add("AccountingUnit_ID", new SimpleLabel("会计单位"), QueryCreator.DFChoiceBox(mDFInfo.Fields["AccountingUnit_ID"], B3FrameworksConsts.DataSources.));
layout.Add("Department_ID", new SimpleLabel("部门"), QueryCreator.DFChoiceBox(mDFInfo.Fields["Department_ID"], B3FrameworksConsts.DataSources.));
layout.Add("Employee_ID", new SimpleLabel("经办人"), QueryCreator.DFChoiceBox(mDFInfo.Fields["Employee_ID"], B3FrameworksConsts.DataSources.));
layout.Add("Supplier_ID", new SimpleLabel("供应商"), QueryCreator.DFChoiceBox(mDFInfo.Fields["Supplier_ID"], B3ProcurementInterfaceDataSources.));
layout.Add("Date", new SimpleLabel("日期"), QueryCreator.TimeRange(mDFInfo.Fields["Date"], mQueryContainer, "MinDate", "MaxDate"));
layout["Date"].NotAutoAddToContainer = true;
var input = QueryCreator.(mDFInfo.Fields["BillState"]);
input.Fill("20", "已审核;");
layout.Add("BillState", new SimpleLabel("单据状态"), input);
var config = new AutoLayoutConfig { Cols = 2 };
config.Add("ID");
config.Add("AccountingUnit_ID");
config.Add("Department_ID");
config.Add("Employee_ID");
config.Add("Supplier_ID");
config.Add("Date");
config.Add("BillState");
layout.Config = config;
vPanel.Add(layout.CreateLayout());
}
ReportDisplayOptionHelper mDisplayHelper = new ReportDisplayOptionHelper();
protected override void AddQueryOptions(VLayoutPanel vPanel)
{
mDisplayHelper.AddOptionItem("单号", "bill", "ID", false);
mDisplayHelper.AddOptionItem("日期", "bill", "Date", false);
mDisplayHelper.AddOptionItem("会计单位", "bill", "AccountingUnit_Name", false);
mDisplayHelper.AddOptionItem("部门", "bill", "Department_Name", false);
mDisplayHelper.AddOptionItem("经办人", "bill", "Employee_Name", false);
mDisplayHelper.AddOptionItem("供应商", "bill", "Supplier_Name", false);
mDisplayHelper.AddOptionItem("摘要", "bill", "Remark", false);
mDisplayHelper.AddOptionItem("是否过磅", "HurryButcher_Detail", "AfterWeigh", false);
mDisplayHelper.AddOptionItem("过磅单号", "HurryButcher_Detail", "Weigh_ID", false);
mDisplayHelper.AddOptionItem("级别", "HurryButcher_Detail", "Livestock_Name", false);
mDisplayHelper.AddOptionItem("头数", "HurryButcher_Detail", "Number", false, true);
mDisplayHelper.AddOptionItem("毛重", "HurryButcher_Detail", "GrossWeight", false, true);
mDisplayHelper.AddOptionItem("重量", "HurryButcher_Detail", "Weight", false, true);
mDisplayHelper.AddOptionItem("备注", "HurryButcher_Detail", "Remark", false);
AddQueryOption("选项", mDisplayHelper.GetAllDisplayNames(), mDisplayHelper.GetDefaultSelelectedDisplayNames());
base.AddQueryOptions(vPanel);
}
protected override DQueryDom GetQueryDom()
{
var dom = base.GetQueryDom();
var bill = dom.From.RootSource.Alias;
mDisplayHelper.AddAlias("bill", JoinAlias.Create("bill"));
var HurryButcher_Detail = new JoinAlias("HurryButcher_Detail", typeof(HurryButcher_Detail));
mDisplayHelper.AddAlias("HurryButcher_Detail", JoinAlias.Create("HurryButcher_Detail"));
dom.From.AddJoin(JoinType.Left, new DQDmoSource(HurryButcher_Detail), DQCondition.EQ(bill, "ID", HurryButcher_Detail, "HurryButcher_ID"));
mDisplayHelper.AddSelectColumns(dom, (name) => OptionIsSelected("选项", name), SumColumnIndexs);
dom.Where.Conditions.Add(DQCondition.EQ(bill, "Domain_ID", DomainContext.Current.ID));
OrganizationUtil.AddOrganizationLimit(dom, typeof(HurryButcher));
return dom;
}
}
}