|
|
using BWP.B3ClientService;
|
|
|
using BWP.B3ClientService.BO;
|
|
|
using BWP.B3Frameworks.Utils;
|
|
|
using BWP.Web.Utils;
|
|
|
using BWP.Web.WebControls;
|
|
|
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.Security;
|
|
|
using System.Text;
|
|
|
using System.Web.UI;
|
|
|
using System.Web.UI.HtmlControls;
|
|
|
using System.Web.UI.WebControls;
|
|
|
using TSingSoft.WebControls2;
|
|
|
using TSingSoft.WebPluginFramework.Controls;
|
|
|
using TSingSoft.WebPluginFramework.Pages;
|
|
|
using TSingSoft.WebPluginFramework;
|
|
|
|
|
|
namespace BWP.Web.Pages.B3ClientService.Reports.CarcassTrendAnalyse_
|
|
|
{
|
|
|
class CarcassTrendAnalyse : ServerPage
|
|
|
{
|
|
|
protected override void OnInit(EventArgs e)
|
|
|
{
|
|
|
if (!User.IsInRole("B3ClientService.报表展示.白条流向"))
|
|
|
throw new SecurityException();
|
|
|
base.OnInit(e);
|
|
|
}
|
|
|
|
|
|
DFBrowseGrid mBrowseGrid;
|
|
|
protected override void InitForm(HtmlForm form)
|
|
|
{
|
|
|
form.EAdd(new PageTitle("白条流向"));
|
|
|
|
|
|
var queryPanel = new Panel();
|
|
|
queryPanel.Style.Add(HtmlTextWriterStyle.BackgroundColor, "white");
|
|
|
queryPanel.CssClass = "QueryPanel PrintInVisible";
|
|
|
form.Controls.Add(queryPanel);
|
|
|
|
|
|
AddQueryControl(queryPanel);
|
|
|
|
|
|
var mZone = new TitlePanelZone();
|
|
|
form.Controls.Add(mZone);
|
|
|
|
|
|
mZone.Add(CreateResultTab());
|
|
|
}
|
|
|
|
|
|
DateInput dateInput;
|
|
|
private void AddQueryControl(Panel queryPanel)
|
|
|
{
|
|
|
var hp = queryPanel.EAdd(new Panel());
|
|
|
hp.Style.Add("float", "right");
|
|
|
hp.EAdd(new SimpleLabel("出库日期"));
|
|
|
dateInput = hp.EAdd(new DateInput() { Width = Unit.Pixel(100) });
|
|
|
dateInput.Style.Add("margin-right", "10px");
|
|
|
var btn = hp.EAdd(new TSButton("开始查询", delegate { StartQuery(); }));
|
|
|
btn.Style.Add("padding", "5px 10px");
|
|
|
btn.Style.Add("margin-right", "10px");
|
|
|
var rbtn = hp.EAdd(new RedirectTSButton("清除条件"));
|
|
|
rbtn.Style.Add("padding", "5px 10px");
|
|
|
rbtn.Style.Add("margin-right", "10px");
|
|
|
}
|
|
|
|
|
|
private TitlePanel CreateResultTab()
|
|
|
{
|
|
|
var result = new TitlePanel("查询结果");
|
|
|
mBrowseGrid = result.EAdd(new DFBrowseGrid(new DFDataTableEditor()) { Width = Unit.Percentage(100) });
|
|
|
mBrowseGrid.Columns.Add(new DFBrowseGridAutoColumn());
|
|
|
var hPanel = result.EAdd(new HLayoutPanel());
|
|
|
PageUtil.AddExcelExportPanel(hPanel, mBrowseGrid, "白条流向");
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
void StartQuery()
|
|
|
{
|
|
|
var dateExp = DQExpression.Snippet("CAST([_main].[PickTime] AS DATE)");
|
|
|
var query = new DQueryDom(new JoinAlias("_main", typeof(CarcassFullInfo)));
|
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Field("PickType", "出库类型"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(dateExp.ECastType<DateTime?>(), "出库日期"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Value<int>(1)), "头数"));
|
|
|
query.Columns.Add(DQSelectColumn.Sum("InStoreWeight", "入库重量"));
|
|
|
query.Columns.Add(DQSelectColumn.Sum("PickWeight", "出库重量"));
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Subtract(DQExpression.IfNull(DQExpression.Field("InStoreWeight"), DQExpression.Value(0)), DQExpression.IfNull(DQExpression.Field("PickWeight"), DQExpression.Value(0)))), "损耗"));
|
|
|
query.GroupBy.Expressions.Add(DQExpression.Field("PickType"));
|
|
|
query.GroupBy.Expressions.Add(dateExp);
|
|
|
if (!dateInput.IsEmpty)
|
|
|
query.Where.Conditions.Add(DQCondition.EQ(dateExp, DQExpression.Value(dateInput.Date)));
|
|
|
var args = new LoadArguments(query);
|
|
|
for (var i = 2; i <= 5; i++)
|
|
|
args.SumColumns.Add(i);
|
|
|
args.GroupSumColumns.Add(2);
|
|
|
args.GroupSumColumns.Add(6);
|
|
|
mBrowseGrid.LoadArguments = args;
|
|
|
mBrowseGrid.DataBind();
|
|
|
}
|
|
|
|
|
|
protected override void OnLoad(EventArgs e)
|
|
|
{
|
|
|
base.OnLoad(e);
|
|
|
if (!IsPostBack)
|
|
|
StartQuery();
|
|
|
}
|
|
|
}
|
|
|
}
|