diff --git a/B3ButcherManageToSale.Web/B3ButcherManageToSale.Web.csproj b/B3ButcherManageToSale.Web/B3ButcherManageToSale.Web.csproj
index f847204..2680d61 100644
--- a/B3ButcherManageToSale.Web/B3ButcherManageToSale.Web.csproj
+++ b/B3ButcherManageToSale.Web/B3ButcherManageToSale.Web.csproj
@@ -122,6 +122,9 @@
ASPXCodeBehind
+
+ ASPXCodeBehind
+
diff --git a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/SaleOutStockAnalyse_/SaleOutStockAnalyse.cs b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/SaleOutStockAnalyse_/SaleOutStockAnalyse.cs
index a823c7f..73c589b 100644
--- a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/SaleOutStockAnalyse_/SaleOutStockAnalyse.cs
+++ b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/SaleOutStockAnalyse_/SaleOutStockAnalyse.cs
@@ -48,11 +48,13 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
mDFGrid.AfterFillDetailRow += (htmlRow, dataRow) =>
{
var row = (DFDataRow)dataRow;
+ BuildCell(htmlRow, row);
var diff = row["备货差异|数量"];
if (diff != null && Convert.ToDecimal(diff) <= 0)
{
- foreach (HtmlTableCell c in htmlRow.Cells)
- c.Style.Add("background-color", "lightgreen");
+ var cIdx = onlyGoodsCheck.Checked ? 1 : 3;
+ for (var i = 0; i < cIdx; i++)
+ htmlRow.Cells[i].Style.Add("background-color", "pink");
}
else
{
@@ -63,10 +65,29 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
htmlRow.Cells[cIdx].Style.Add("background-color", "lightgreen");
}
}
-
};
}
+ private void BuildCell(HtmlTableRow htmlRow, DFDataRow dataRow)
+ {
+ var url = "~/B3ButcherManageToSale/Reports/SaleOutStockAnalyse_/ShowGoodsCustomer.aspx";
+ url = AspUtil.AddParamToUrl(url, "minDate", mQueryContainer.GetControl("MinLoadTime").Text);
+ url = AspUtil.AddParamToUrl(url, "maxDate", mQueryContainer.GetControl("MaxLoadTime").Text);
+ url = AspUtil.AddParamToUrl(url, "Goods_ID", dataRow["Goods_ID"].ToString());
+ if (dataRow["DeliverGoodsLine_ID"] != null)
+ url = AspUtil.AddParamToUrl(url, "DeliverGoodsLine_ID", dataRow["DeliverGoodsLine_ID"].ToString());
+ else
+ url = AspUtil.AddParamToUrl(url, "DeliverGoodsLine_ID", mQueryContainer.GetControl("DeliverGoodsLine_ID").Value);
+ url = AspUtil.AddParamToUrl(url, "BillState", billStateDp.SelectedValue);
+ url = WpfPageUrl.ToGlobal(url);
+ var cIdx = onlyGoodsCheck.Checked ? 0 : 2;
+ var cell = htmlRow.Cells[cIdx];
+ cell.Attributes["onclick"] = "OpenUrlInTopTab('" + url + "','订单详情');";
+ cell.Style.Add("color", "blue");
+ cell.Style.Add("text-decoration", "underline");
+ cell.Style.Add("cursor", "pointer");
+ }
+
protected override void InitQueryPanel(WebControls.QueryPanel queryPanel)
{
//base.InitQueryPanel(queryPanel);
@@ -104,10 +125,16 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
var goodsIds = mQueryContainer.GetControl("SaleGoods_ID").GetValues().Select(x => long.Parse(x));
var minDate = mQueryContainer.GetControl("MinLoadTime").Value;
var maxDate = mQueryContainer.GetControl("MaxLoadTime").Value;
-
- var data = GetMainInfo(line, goodsIds, minDate, maxDate, billStateDp);
- var products = GetInStoreNumber(goodsIds, minDate, maxDate);
- foreach (var g in data.GroupBy(x => x.Goods_ID))
+ List data;
+ List products;
+ List stockInfo;
+ using (var session = Dmo.NewSession())
+ {
+ data = GetMainInfo(line, goodsIds, minDate, maxDate, billStateDp, session);
+ products = GetInStoreNumber(goodsIds, minDate, maxDate, session);
+ stockInfo = GetStockInfo(goodsIds, minDate, maxDate, session);
+ };
+ foreach (var g in stockInfo.GroupBy(x => x.Goods_ID))
{
var first = products.FirstOrDefault(x => x.Goods_ID == g.Key);
if (first != null)
@@ -124,6 +151,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
{
var first = g.First();
var entity = new TempObj();
+ entity.Goods_ID = first.Goods_ID;
entity.Goods_Name = first.Goods_Name;
entity.Unit = first.Unit;
entity.SecondUnit = first.SecondUnit;
@@ -150,27 +178,13 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
if (item.StockDiffNumber > 0)
{
item.AvailableMain = Math.Min(item.StockDiffNumber.Value, (first.MainNumber ?? 0).Value);
-
first.MainNumber -= item.AvailableMain;
-
- if (item.AvailableMain < 0)
- item.AvailableMain = 0;
-
- if (first.MainNumber < 0)
- first.MainNumber = 0;
}
if (item.StockDiffSecondNumber > 0)
{
item.AvailableSecond = Math.Min(item.StockDiffSecondNumber.Value, (first.SecondNumber ?? 0).Value);
-
first.SecondNumber -= item.AvailableSecond;
-
- if (item.AvailableSecond < 0)
- item.AvailableSecond = 0;
-
- if (first.SecondNumber < 0)
- first.SecondNumber = 0;
}
}
}
@@ -185,6 +199,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
}
table.Data.Columns.Add(new DFCustomDataColumn("存货", typeof(string)));
ColumnNames.Add("存货");
+ table.Data.Columns.Add(new DFCustomDataColumn("Goods_ID", typeof(long)));
+ table.Data.Columns.Add(new DFCustomDataColumn("DeliverGoodsLine_ID", typeof(long?)));
table.Data.Columns.Add(new DFCustomDataColumn("订货|数量", typeof(Money?)));
ColumnNames.Add("订货|数量");
@@ -217,8 +233,10 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
if (!onlyGoodsCheck.Checked)
{
row["顺序号"] = item.SequenceNumber;
- row["线路"] = item.LineName;
+ row["线路"] = item.DeliverGoodsLine_Name;
}
+ row["Goods_ID"] = item.Goods_ID;
+ row["DeliverGoodsLine_ID"] = item.DeliverGoodsLine_ID;
row["存货"] = item.Goods_Name;
row["订货|数量"] = item.OrderMain;
row["订货|单位"] = item.Unit;
@@ -244,7 +262,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
return table;
}
- IEnumerable GetInStoreNumber(IEnumerable goodsIDs, DateTime? start, DateTime? end)
+ List GetInStoreNumber(IEnumerable goodsIDs, DateTime? start, DateTime? end, IDmoSession session)
{
var main = new JoinAlias(typeof(ProductInStore));
var detail = new JoinAlias(typeof(ProductInStore_Detail));
@@ -266,10 +284,58 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
query.Where.Conditions.Add(DQCondition.LessThanOrEqual("Date", end));
if (goodsIDs.Any())
query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "Goods_ID"), goodsIDs.Select(x => DQExpression.Value(x)).ToArray()));
- return query.EExecuteList?, Money?>().Select(x => new MinObj { Goods_ID = x.Item1, MainNumber = x.Item2, SecondNumber = x.Item3 });
+ var list = new List();
+ using (var reader = session.ExecuteReader(query))
+ {
+ while (reader.Read())
+ {
+ list.Add(new MinObj
+ {
+ Goods_ID = (long)reader[0],
+ MainNumber = (Money?)reader[1],
+ SecondNumber = (Money?)reader[2]
+ });
+ }
+ }
+ return list;
}
- List GetMainInfo(IEnumerable line, IEnumerable goodsIDs, DateTime? minDate, DateTime? maxDate, DFDropDownList billStateDp)
+ static List GetStockInfo(IEnumerable goodsIDs, DateTime? minDate, DateTime? maxDate, IDmoSession session)
+ {
+ var main = new JoinAlias("_tMain", typeof(SaleOutStore));
+ var detail = new JoinAlias("_tDetail", typeof(SaleOutStore_Detail));
+ var stockUp = new JoinAlias(typeof(StockUpDetail));
+ var query = new DQueryDom(stockUp);
+ query.From.AddJoin(JoinType.Inner, new DQDmoSource(detail), DQCondition.EQ(detail, "ID", stockUp, "DetailID"));
+ query.From.AddJoin(JoinType.Left, new DQDmoSource(main), DQCondition.EQ(main, "ID", detail, "SaleOutStore_ID"));
+ query.Columns.Add(DQSelectColumn.Field("SaleGoods_ID", detail));
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(stockUp, "SecondNumber")), "备货辅数量"));
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(stockUp, "UnitNumber")), "备货报价数量"));
+
+ query.GroupBy.Expressions.Add(DQExpression.Field(detail, "SaleGoods_ID"));
+ if (minDate.HasValue)
+ query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual(main, "LoadTime", minDate.Value));
+ if (maxDate.HasValue)
+ query.Where.Conditions.Add(DQCondition.LessThanOrEqual(main, "LoadTime", maxDate.Value));
+ if (goodsIDs.Any())
+ query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "SaleGoods_ID"), goodsIDs.Select(x => DQExpression.Value(x)).ToArray()));
+ query.Where.Conditions.Add(DQCondition.InEQ(main, "BillState", 单据状态.已作废));
+ var list = new List();
+ using (var reader = session.ExecuteReader(query))
+ {
+ while (reader.Read())
+ {
+ var entity = new StockUpClass();
+ entity.Goods_ID = (long)reader[0];
+ entity.StockSecondNumber = (Money?)reader[1];
+ entity.StockNumber = (Money?)reader[2];
+ list.Add(entity);
+ }
+ }
+ return list;
+ }
+
+ List GetMainInfo(IEnumerable line, IEnumerable goodsIDs, DateTime? minDate, DateTime? maxDate, DFDropDownList billStateDp, IDmoSession session)
{
var main = new JoinAlias("_m", typeof(SaleOutStore));
var detail = new JoinAlias("_d", typeof(SaleOutStore_Detail));
@@ -283,6 +349,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
query.From.AddJoin(JoinType.Left, new DQDmoSource(customer), DQCondition.EQ(main, "Customer_ID", customer, "Customer_ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(temp), DQCondition.EQ(detail, "ID", temp, "DetailID"));
query.Columns.Add(DQSelectColumn.Field("SequenceNumber"));
+ query.Columns.Add(DQSelectColumn.Field("DeliverGoodsLine_ID"));
query.Columns.Add(DQSelectColumn.Field("DeliverGoodsLine_Name"));
query.Columns.Add(DQSelectColumn.Field("SaleGoods_ID", detail));
query.Columns.Add(DQSelectColumn.Field("Goods_Name", detail));
@@ -296,6 +363,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
query.Columns.Add(DQSelectColumn.Sum(temp, "StockNumber"));
query.Columns.Add(DQSelectColumn.Sum(temp, "StockSecondNumber"));
+
query.OrderBy.Expressions.Add(DQOrderByExpression.Create("SequenceNumber"));
if (minDate.HasValue)
@@ -305,7 +373,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
if (line.Any())
query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(main, "DeliverGoodsLine_ID"), line.Select(x => DQExpression.Value(x)).ToArray()));
else
- query.Where.Conditions.Add(DQCondition.IsNotNull(DQExpression.Field("DeliverGoodsLine_ID")));
+ query.Where.Conditions.Add(DQCondition.IsNotNull(DQExpression.Field(main, "DeliverGoodsLine_ID")));
if (goodsIDs.Any())
query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "SaleGoods_ID"), goodsIDs.Select(x => DQExpression.Value(x)).ToArray()));
@@ -313,29 +381,27 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
query.Where.Conditions.Add(DQCondition.EQ(main, "BillState", short.Parse(billStateDp.SelectedValue)));
else
query.Where.Conditions.Add(DQCondition.InEQ(main, "BillState", 单据状态.已作废));
+ query.Where.Conditions.Add(DQCondition.EQ(main, "TakeGoods_Type", 配送方式.公司配送));
var list = new List();
- using (var session = Dmo.NewSession())
+ using (var reader = session.ExecuteReader(query))
{
- using (var reader = session.ExecuteReader(query))
+ while (reader.Read())
{
- while (reader.Read())
- {
- var entity = new TempObj();
- entity.SequenceNumber = (long?)reader[0];
- entity.LineName = (string)reader[1];
- entity.Goods_ID = (long)reader[2];
- entity.Goods_Name = (string)reader[3];
- entity.Unit = (string)reader[4];
- entity.SecondUnit = (string)reader[5];
-
- entity.OrderMain = (Money?)reader[6];
- entity.OrderSecond = (Money?)reader[7];
- entity.StockNumber = (Money?)reader[8];
- entity.StockSecondNumber = (Money?)reader[9];
-
- list.Add(entity);
- }
+ var entity = new TempObj();
+ entity.SequenceNumber = (long?)reader[0];
+ entity.DeliverGoodsLine_ID = (long?)reader[1];
+ entity.DeliverGoodsLine_Name = (string)reader[2];
+ entity.Goods_ID = (long)reader[3];
+ entity.Goods_Name = (string)reader[4];
+ entity.Unit = (string)reader[5];
+ entity.SecondUnit = (string)reader[6];
+ entity.OrderMain = (Money?)reader[7];
+ entity.OrderSecond = (Money?)reader[8];
+ entity.StockNumber = (Money?)reader[9];
+ entity.StockSecondNumber = (Money?)reader[10];
+
+ list.Add(entity);
}
}
return list;
@@ -343,10 +409,9 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
class StockUpClass
{
+ public long Goods_ID { get; set; }
public long DetailID { get; set; }
-
public Money? StockSecondNumber { get; set; }
-
public Money? StockNumber { get; set; }
public static void Register(DQueryDom root, IEnumerable line, IEnumerable goodsIDs, DateTime? minDate, DateTime? maxDate, DFDropDownList billStateDp)
@@ -358,8 +423,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
query.From.AddJoin(JoinType.Inner, new DQDmoSource(detail), DQCondition.EQ(detail, "ID", stockUp, "DetailID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(main), DQCondition.EQ(main, "ID", detail, "SaleOutStore_ID"));
query.Columns.Add(DQSelectColumn.Field("ID", detail));
- query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(stockUp, "SecondNumber")).ECastType?>(), "备货辅数量"));
- query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(stockUp, "UnitNumber")).ECastType?>(), "备货报价数量"));
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(stockUp, "SecondNumber")), "StockSecondNumber"));
+ query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(stockUp, "UnitNumber")), "StockNumber"));
query.GroupBy.Expressions.Add(DQExpression.Field(detail, "ID"));
if (minDate.HasValue)
@@ -368,13 +433,16 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
query.Where.Conditions.Add(DQCondition.LessThanOrEqual(main, "LoadTime", maxDate.Value));
if (line.Any())
query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(main, "DeliverGoodsLine_ID"), line.Select(x => DQExpression.Value(x)).ToArray()));
+ else
+ query.Where.Conditions.Add(DQCondition.IsNotNull(DQExpression.Field(main, "DeliverGoodsLine_ID")));
if (goodsIDs.Any())
query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "SaleGoods_ID"), goodsIDs.Select(x => DQExpression.Value(x)).ToArray()));
-
if (!string.IsNullOrEmpty(billStateDp.SelectedValue))
query.Where.Conditions.Add(DQCondition.EQ(main, "BillState", short.Parse(billStateDp.SelectedValue)));
else
query.Where.Conditions.Add(DQCondition.InEQ(main, "BillState", 单据状态.已作废));
+ query.Where.Conditions.Add(DQCondition.EQ(main, "TakeGoods_Type", 配送方式.公司配送));
+
root.RegisterQueryTable(typeof(StockUpClass), new string[] { "DetailID", "StockSecondNumber", "StockNumber" }, query);
}
}
@@ -382,7 +450,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
class TempObj
{
public long? SequenceNumber { get; set; }
- public string LineName { get; set; }
+ public long? DeliverGoodsLine_ID { get; set; }
+ public string DeliverGoodsLine_Name { get; set; }
public long Goods_ID { get; set; }
public string Goods_Name { get; set; }
public string Unit { get; set; }
diff --git a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/SaleOutStockAnalyse_/ShowGoodsCustomer.cs b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/SaleOutStockAnalyse_/ShowGoodsCustomer.cs
new file mode 100644
index 0000000..0be0d94
--- /dev/null
+++ b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/SaleOutStockAnalyse_/ShowGoodsCustomer.cs
@@ -0,0 +1,134 @@
+using BWP.B3Frameworks.BO.NamedValueTemplate;
+using BWP.B3Frameworks.Utils;
+using BWP.B3Sale.BO;
+using BWP.B3Sale.Utils;
+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 System.Web.UI.WebControls;
+using TSingSoft.WebControls2;
+using TSingSoft.WebPluginFramework.Controls;
+using TSingSoft.WebPluginFramework.Pages;
+
+namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.SaleOutStockAnalyse_
+{
+ class ShowGoodsCustomer : ServerPage
+ {
+ public DateTime? minDate
+ {
+ get
+ {
+ if (string.IsNullOrEmpty(Request.QueryString["minDate"]))
+ return null;
+ return DateTime.Parse(Request.QueryString["minDate"]);
+ }
+ }
+
+ public DateTime? maxDate
+ {
+ get
+ {
+ if (string.IsNullOrEmpty(Request.QueryString["maxDate"]))
+ return null;
+ return DateTime.Parse(Request.QueryString["maxDate"]);
+ }
+ }
+
+ public long Goods_ID
+ {
+ get
+ {
+ return long.Parse(Request.QueryString["Goods_ID"]);
+ }
+ }
+
+ public List DeliverGoodsLine_IDs
+ {
+ get
+ {
+ if (string.IsNullOrEmpty(Request.QueryString["DeliverGoodsLine_ID"]))
+ return new List();
+ return Request.QueryString["DeliverGoodsLine_ID"].Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).ToList();
+ }
+ }
+
+ public short? BillState
+ {
+ get
+ {
+ if (string.IsNullOrEmpty(Request.QueryString["BillState"]))
+ return null;
+ return short.Parse(Request.QueryString["BillState"]);
+ }
+ }
+
+ DFBrowseGrid mGrid;
+ protected override void InitForm(System.Web.UI.HtmlControls.HtmlForm form)
+ {
+ form.Controls.Add(new PageTitle(string.Format("{0}订单详情", WebBLUtil.GetDmoPropertyByID(typeof(SaleGoods), "Name", Goods_ID))));
+ mGrid = new DFBrowseGrid(new DFDataTableEditor()) { Width = Unit.Percentage(100), EnableRowsGroup = true };
+ mGrid.Columns.Add(new DFBrowseGridAutoColumn());
+ form.Controls.Add(mGrid);
+ }
+
+ List SumIdx = new List();
+ DQueryDom GetQueryDom()
+ {
+ var main = new JoinAlias("_m", typeof(SaleOutStore));
+ var detail = new JoinAlias("_d", typeof(SaleOutStore_Detail));
+ var config = new JoinAlias("_g1", typeof(GoodsViewConfig));
+ var customer = new JoinAlias("_c1", typeof(CustomerViewConfig));
+ var query = new DQueryDom(main);
+ query.From.AddJoin(JoinType.Inner, new DQDmoSource(detail), DQCondition.EQ(main, "ID", detail, "SaleOutStore_ID"));
+ query.From.AddJoin(JoinType.Inner, new DQDmoSource(config), DQCondition.EQ(config, "Goods_ID", detail, "SaleGoods_ID"));
+ query.From.AddJoin(JoinType.Left, new DQDmoSource(customer), DQCondition.EQ(main, "Customer_ID", customer, "Customer_ID"));
+
+ query.Columns.Add(DQSelectColumn.Field("DeliverGoodsLine_Name"));
+ query.Columns.Add(DQSelectColumn.Field("Customer_Name"));
+ query.Columns.Add(DQSelectColumn.Sum(detail, "Order_Detail_UnitNum", "原订单量"));
+ SumIdx.Add(query.Columns.Count - 1);
+ query.Columns.Add(DQSelectColumn.Sum(detail, "UnitNum", "计划数量"));
+ SumIdx.Add(query.Columns.Count - 1);
+ query.GroupBy.Expressions.Add(DQExpression.Field("DeliverGoodsLine_Name"));
+ query.GroupBy.Expressions.Add(DQExpression.Field("SequenceNumber"));
+ query.GroupBy.Expressions.Add(DQExpression.Field("Customer_Name"));
+ query.OrderBy.Expressions.Add(DQOrderByExpression.Create("SequenceNumber"));
+
+ if (minDate.HasValue)
+ query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual(main, "LoadTime", minDate.Value));
+ if (maxDate.HasValue)
+ query.Where.Conditions.Add(DQCondition.LessThanOrEqual(main, "LoadTime", maxDate.Value + new TimeSpan(23, 59, 29)));
+ if (DeliverGoodsLine_IDs.Any())
+ query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(main, "DeliverGoodsLine_ID"), DeliverGoodsLine_IDs.Select(x => DQExpression.Value(long.Parse(x))).ToArray()));
+ else
+ query.Where.Conditions.Add(DQCondition.IsNotNull(DQExpression.Field(main, "DeliverGoodsLine_ID")));
+ query.Where.Conditions.Add(DQCondition.EQ(detail, "SaleGoods_ID", Goods_ID));
+
+ if (BillState.HasValue)
+ query.Where.Conditions.Add(DQCondition.EQ(main, "BillState", BillState));
+ else
+ query.Where.Conditions.Add(DQCondition.InEQ(main, "BillState", 单据状态.已作废));
+ query.Where.Conditions.Add(DQCondition.EQ(main, "TakeGoods_Type", 配送方式.公司配送));
+ return query;
+ }
+
+ protected override void OnLoad(EventArgs e)
+ {
+ base.OnLoad(e);
+ if (!IsPostBack)
+ {
+ var args = new LoadArguments(GetQueryDom());
+ foreach (var idx in SumIdx)
+ args.SumColumns.Add(idx);
+ mGrid.LoadArguments = args;
+ mGrid.DataBind();
+ }
+ }
+ }
+}