diff --git a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs
index d88e0e9..5165d91 100644
--- a/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs
+++ b/B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs
@@ -15,6 +15,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
+using System.Web.UI.WebControls;
using TSingSoft.WebControls2;
using TSingSoft.WebPluginFramework;
@@ -38,6 +39,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
queryPanel.ConditonPanel.EAdd(CreateDataRangePanel());
}
+ DFDropDownList stateDp;
HLayoutPanel CreateDataRangePanel()
{
var hPanel = new HLayoutPanel();
@@ -45,6 +47,13 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
hPanel.Add(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ID"], mQueryContainer, "Store_ID", B3FrameworksConsts.DataSources.授权仓库全部));
hPanel.Add(new LiteralControl("*日期:"));
hPanel.Add(QueryCreator.DateRange(mDFInfo.Fields["Date"], mQueryContainer, "MinDate", "MaxDate", DateTime.Today, DateTime.Today + new TimeSpan(23, 59, 29)));
+ hPanel.Add(new LiteralControl("存货属性:"));
+ hPanel.Add(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ID"], mQueryContainer, "GoodsProperty_Catalog_ID", B3UnitedInfos.B3UnitedInfosConsts.DataSources.存货属性分类全部));
+ hPanel.Add(new LiteralControl("单据状态:"));
+ stateDp = hPanel.Add(new DFDropDownList() { Width = Unit.Pixel(80) });
+ stateDp.Items.Add("");
+ stateDp.Items.Add(new ListItem("未审核", "0"));
+ stateDp.Items.Add(new ListItem("已审核", "20"));
return hPanel;
}
@@ -53,6 +62,10 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
var minInput = mQueryContainer.GetControl("MinDate");
var maxInput = mQueryContainer.GetControl("MaxDate");
var storeInput = mQueryContainer.GetControl("Store_ID");
+ var gpc = mQueryContainer.GetControl("GoodsProperty_Catalog_ID");
+ int? billState = null;
+ if (stateDp.SelectedIndex > 0)
+ billState = int.Parse(stateDp.SelectedValue);
if (minInput.IsEmpty)
throw new Exception("请选择开始日期");
if (maxInput.IsEmpty)
@@ -63,7 +76,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
var main = new JoinAlias(typeof(UnionTemp));
var goods = new JoinAlias(typeof(Goods));
var query = new DQueryDom(main);
- UnionTemp.Register(query, minInput.Date, maxInput.Date, storeInput.GetValues().Select(x => long.Parse(x)));
+ UnionTemp.Register(query, minInput.Date, maxInput.Date, billState, storeInput.GetValues().Select(x => long.Parse(x)));
query.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(main, "Goods_ID", goods, "ID"));
query.Columns.Add(DQSelectColumn.Field("Code", goods, "编码"));
query.Columns.Add(DQSelectColumn.Field("Name", goods, "名称"));
@@ -90,6 +103,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
query.GroupBy.Expressions.Add(DQExpression.Field(goods, "Spec"));
query.GroupBy.Expressions.Add(DQExpression.Field(goods, "MainUnit"));
query.GroupBy.Expressions.Add(DQExpression.Field(goods, "SecondUnit"));
+ if (!gpc.IsEmpty)
+ query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(goods, "GoodsPropertyCatalog_ID"), gpc.GetValues().Select(x => DQExpression.Value(long.Parse(x))).ToArray()));
return query;
}
@@ -103,15 +118,15 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
public Money? OutUnitNum { get; set; }
public Money? OutSecondNumber { get; set; }
- public static void Register(DQueryDom root, DateTime minDate, DateTime maxDate, IEnumerable storeID)
+ public static void Register(DQueryDom root, DateTime minDate, DateTime maxDate, int? billState, IEnumerable storeID)
{
- var query = GetSaleOutStore(minDate, maxDate, storeID);
+ var query = GetSaleOutStore(minDate, maxDate, billState, storeID);
query.UnionNext.Select = GetOutput(minDate, maxDate);
OrganizationUtil.RegisterOrganizationQueryTable(root);
root.RegisterQueryTable(typeof(UnionTemp), new string[] { "Goods_ID", "UnitNum", "SecondNumber", "OutUnitNum", "OutSecondNumber" }, query);
}
- static DQueryDom GetSaleOutStore(DateTime minDate, DateTime maxDate, IEnumerable storeID)
+ static DQueryDom GetSaleOutStore(DateTime minDate, DateTime maxDate, int? billState, IEnumerable storeID)
{
var main = new JoinAlias(typeof(SaleOutStore));
var detail = new JoinAlias(typeof(SaleOutStore_Detail));
@@ -122,7 +137,11 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
query.Columns.Add(DQSelectColumn.Field("SecondNumber", detail));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OutUnitNum"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OutSecondNumber"));
- query.Where.Conditions.Add(DQCondition.And(DQCondition.Between("LoadTime", minDate, maxDate), DQCondition.InList(DQExpression.Field("Store_ID"), storeID.Select(x => DQExpression.Value(x)).ToArray()), DQCondition.EQ("BillState", 单据状态.未审核)));
+ query.Where.Conditions.Add(DQCondition.And(DQCondition.Between("LoadTime", minDate, maxDate), DQCondition.InList(DQExpression.Field("Store_ID"), storeID.Select(x => DQExpression.Value(x)).ToArray())));
+ if (billState.HasValue)
+ query.Where.Conditions.Add(DQCondition.EQ("BillState", billState));
+ else
+ query.Where.Conditions.Add(DQCondition.InEQ("BillState", 单据状态.已作废));
OrganizationUtil.AddOrganizationLimit(query, typeof(SaleOutStore));
return query;
}