Browse Source

addExcelExport

master
yibo 7 years ago
parent
commit
39d8f41c87
1 changed files with 45 additions and 8 deletions
  1. +45
    -8
      B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Overlays/SaleOutStoreBalance.cs

+ 45
- 8
B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Overlays/SaleOutStoreBalance.cs View File

@ -28,6 +28,9 @@ using System.Web;
using Newtonsoft.Json; using Newtonsoft.Json;
using Forks.EnterpriseServices.BusinessInterfaces; using Forks.EnterpriseServices.BusinessInterfaces;
using BWP.B3Sale.BL; using BWP.B3Sale.BL;
using TSingSoft.WebControls2.DFGrids;
using TSingSoft.WebPluginFramework.Controls;
using TSingSoft.WebPluginFramework.Exports;
namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
{ {
@ -108,7 +111,9 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
var config = manager.CreateDefaultConfig(6); var config = manager.CreateDefaultConfig(6);
config.Expand = false; config.Expand = false;
panel.Add(manager.CreateLayout(), new VLayoutOption(HorizontalAlign.Left)); panel.Add(manager.CreateLayout(), new VLayoutOption(HorizontalAlign.Left));
panel.Add(new TSButton("查询缺货", delegate { StartQuery(); }), new VLayoutOption(HorizontalAlign.Left));
var hPanel = panel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left));
hPanel.Add(new TSButton("查询缺货", delegate { StartQuery(false); }));
hPanel.Add(new TSButton("查询余货", delegate { StartQuery(true); }));
} }
string dateStr string dateStr
@ -149,6 +154,34 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
panel2.Visible = !byLine; panel2.Visible = !byLine;
avgAdjust.Visible = byLine; avgAdjust.Visible = byLine;
}; };
var hPanel=titlePanel.EAdd(new HLayoutPanel());
AddExcelExportPanel(hPanel, _browseGrid, string.Format("均衡计划导出{0:yyyyMMdd}", DateTime.Today));
}
static void AddExcelExportPanel(HLayoutPanel toolbar, DFBrowseGrid mBrowseGrid, string title)
{
var exporter = new Exporter();
toolbar.Add(new TSButton("导出到Excel", delegate
{
var lastQuery = mBrowseGrid.LastQuery;
if (lastQuery == null)
throw new Exception("请先进行查询");
var dom = new LoadArguments((DQueryDom)lastQuery.DQuery.Clone());
foreach (var colIndex in lastQuery.SumColumns)
dom.SumColumns.Add(colIndex);
foreach (var colIndex in lastQuery.GroupSumColumns)
dom.GroupSumColumns.Add(colIndex);
dom.DQuery.Range = SelectRange.All;
string fileName = title + ".xlsx";
exporter.Export(new QueryResultExcelExporter(fileName, GetQueryResult(dom)));
}));
toolbar.Add(exporter);
}
private static QueryResult GetQueryResult(LoadArguments arg)
{
var data = new DFDataTableEditor().Load(arg);
return new QueryResult(data.TotalCount, data.Data.Rows, data.Data.Columns, arg.SumColumns.Any() ? data.Data.SumRow : null);
} }
private List<SendOutStoreDetail> CreateDetails(long goodsID, long? storeID) private List<SendOutStoreDetail> CreateDetails(long goodsID, long? storeID)
@ -243,9 +276,9 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
return list; return list;
} }
private void StartQuery()
private void StartQuery(bool moreThan)
{ {
_browseGrid.Query = GetQueryDom();
_browseGrid.Query = GetQueryDom(moreThan);
_browseGrid.DataBind(); _browseGrid.DataBind();
_browseGrid.CurrentPageIndex = 0; _browseGrid.CurrentPageIndex = 0;
if (details.Any()) if (details.Any())
@ -262,7 +295,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
} }
} }
private DQueryDom GetQueryDom()
private DQueryDom GetQueryDom(bool moreThan)
{ {
var temp = new JoinAlias(typeof(SaleOutStoreTemp)); var temp = new JoinAlias(typeof(SaleOutStoreTemp));
var forecast = new JoinAlias(typeof(ForecastTemp)); var forecast = new JoinAlias(typeof(ForecastTemp));
@ -287,7 +320,11 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
query.Columns.Add(DQSelectColumn.Field("Number")); query.Columns.Add(DQSelectColumn.Field("Number"));
query.Columns.Add(DQSelectColumn.Field("ProductNumber", forecast, "预估产量")); query.Columns.Add(DQSelectColumn.Field("ProductNumber", forecast, "预估产量"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.Field("Number"), DQExpression.Field(forecast, "ProductNumber")).ECastType<decimal>(), "差异数量")); query.Columns.Add(DQSelectColumn.Create(DQExpression.Subtract(DQExpression.Field("Number"), DQExpression.Field(forecast, "ProductNumber")).ECastType<decimal>(), "差异数量"));
query.Where.Conditions.Add(DQCondition.GreaterThan(DQExpression.Field("Number"), DQExpression.Field(forecast, "ProductNumber")));
if (moreThan)
query.Where.Conditions.Add(DQCondition.GreaterThan(DQExpression.Field(forecast, "ProductNumber"), DQExpression.Field("Number")));
else
query.Where.Conditions.Add(DQCondition.GreaterThan(DQExpression.Field("Number"), DQExpression.Field(forecast, "ProductNumber")));
return query; return query;
} }
@ -455,7 +492,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
Adjust(details.Where(x => x.Number != (x.SendNumber ?? 0))); Adjust(details.Where(x => x.Number != (x.SendNumber ?? 0)));
} }
AspUtil.Alert(this, "更新完毕"); AspUtil.Alert(this, "更新完毕");
StartQuery();
StartQuery(false);
} }
void AvgAdjust() void AvgAdjust()
@ -546,7 +583,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
</script>", unitNum); </script>", unitNum);
Page.ClientScript.RegisterClientScriptBlock(GetType(), "OtherPageNumber", s, false); Page.ClientScript.RegisterClientScriptBlock(GetType(), "OtherPageNumber", s, false);
string script = @"var defaultGrid=document.all._gird2;"+ @";
string script = @"var defaultGrid=document.all._gird2;" + @";
function _SumNumber() function _SumNumber()
{ {
var grid = defaultGrid.behind; var grid = defaultGrid.behind;
@ -603,7 +640,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays
</script>", unitNum11); </script>", unitNum11);
Page.ClientScript.RegisterClientScriptBlock(GetType(), "OtherPageNumber11", s11, false); Page.ClientScript.RegisterClientScriptBlock(GetType(), "OtherPageNumber11", s11, false);
string script11 = @"var defaultGrid11=document.all._gridUp;" + @";
string script11 = @"var defaultGrid11=document.all._gridUp;" + @";
function _SumNumberUp() function _SumNumberUp()
{ {
var grid = defaultGrid11.behind; var grid = defaultGrid11.behind;


Loading…
Cancel
Save