Browse Source

订单完成情况加存货属性分类和单据状态查询条件,单据状态针对销售出库单。

master
yibo 7 years ago
parent
commit
0763451275
1 changed files with 24 additions and 5 deletions
  1. +24
    -5
      B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs

+ 24
- 5
B3ButcherManageToSale.Web/Pages/B3ButcherManageToSale/Reports/OutputToSaleOutDiff_/OutputToSaleOutDiff.cs View File

@ -15,6 +15,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Web.UI; using System.Web.UI;
using System.Web.UI.WebControls;
using TSingSoft.WebControls2; using TSingSoft.WebControls2;
using TSingSoft.WebPluginFramework; using TSingSoft.WebPluginFramework;
@ -38,6 +39,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
queryPanel.ConditonPanel.EAdd(CreateDataRangePanel()); queryPanel.ConditonPanel.EAdd(CreateDataRangePanel());
} }
DFDropDownList stateDp;
HLayoutPanel CreateDataRangePanel() HLayoutPanel CreateDataRangePanel()
{ {
var hPanel = new HLayoutPanel(); 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(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ID"], mQueryContainer, "Store_ID", B3FrameworksConsts.DataSources.));
hPanel.Add(new LiteralControl("<span style='color:red'>*</span>日期:")); hPanel.Add(new LiteralControl("<span style='color:red'>*</span>日期:"));
hPanel.Add(QueryCreator.DateRange(mDFInfo.Fields["Date"], mQueryContainer, "MinDate", "MaxDate", DateTime.Today, DateTime.Today + new TimeSpan(23, 59, 29))); hPanel.Add(QueryCreator.DateRange(mDFInfo.Fields["Date"], mQueryContainer, "MinDate", "MaxDate", DateTime.Today, DateTime.Today + new TimeSpan(23, 59, 29)));
hPanel.Add(new LiteralControl("<span style='margin-left:10px'>存货属性:</span>"));
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; return hPanel;
} }
@ -53,6 +62,10 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
var minInput = mQueryContainer.GetControl<DateInput>("MinDate"); var minInput = mQueryContainer.GetControl<DateInput>("MinDate");
var maxInput = mQueryContainer.GetControl<DateInput>("MaxDate"); var maxInput = mQueryContainer.GetControl<DateInput>("MaxDate");
var storeInput = mQueryContainer.GetControl<DFChoiceBox>("Store_ID"); var storeInput = mQueryContainer.GetControl<DFChoiceBox>("Store_ID");
var gpc = mQueryContainer.GetControl<DFChoiceBox>("GoodsProperty_Catalog_ID");
int? billState = null;
if (stateDp.SelectedIndex > 0)
billState = int.Parse(stateDp.SelectedValue);
if (minInput.IsEmpty) if (minInput.IsEmpty)
throw new Exception("请选择开始日期"); throw new Exception("请选择开始日期");
if (maxInput.IsEmpty) if (maxInput.IsEmpty)
@ -63,7 +76,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
var main = new JoinAlias(typeof(UnionTemp)); var main = new JoinAlias(typeof(UnionTemp));
var goods = new JoinAlias(typeof(Goods)); var goods = new JoinAlias(typeof(Goods));
var query = new DQueryDom(main); 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.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("Code", goods, "编码"));
query.Columns.Add(DQSelectColumn.Field("Name", 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, "Spec"));
query.GroupBy.Expressions.Add(DQExpression.Field(goods, "MainUnit")); query.GroupBy.Expressions.Add(DQExpression.Field(goods, "MainUnit"));
query.GroupBy.Expressions.Add(DQExpression.Field(goods, "SecondUnit")); 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; return query;
} }
@ -103,15 +118,15 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Reports.OutputToSaleOutDiff_
public Money<decimal>? OutUnitNum { get; set; } public Money<decimal>? OutUnitNum { get; set; }
public Money<decimal>? OutSecondNumber { get; set; } public Money<decimal>? OutSecondNumber { get; set; }
public static void Register(DQueryDom root, DateTime minDate, DateTime maxDate, IEnumerable<long> storeID)
public static void Register(DQueryDom root, DateTime minDate, DateTime maxDate, int? billState, IEnumerable<long> storeID)
{ {
var query = GetSaleOutStore(minDate, maxDate, storeID);
var query = GetSaleOutStore(minDate, maxDate, billState, storeID);
query.UnionNext.Select = GetOutput(minDate, maxDate); query.UnionNext.Select = GetOutput(minDate, maxDate);
OrganizationUtil.RegisterOrganizationQueryTable(root); OrganizationUtil.RegisterOrganizationQueryTable(root);
root.RegisterQueryTable(typeof(UnionTemp), new string[] { "Goods_ID", "UnitNum", "SecondNumber", "OutUnitNum", "OutSecondNumber" }, query); root.RegisterQueryTable(typeof(UnionTemp), new string[] { "Goods_ID", "UnitNum", "SecondNumber", "OutUnitNum", "OutSecondNumber" }, query);
} }
static DQueryDom GetSaleOutStore(DateTime minDate, DateTime maxDate, IEnumerable<long> storeID)
static DQueryDom GetSaleOutStore(DateTime minDate, DateTime maxDate, int? billState, IEnumerable<long> storeID)
{ {
var main = new JoinAlias(typeof(SaleOutStore)); var main = new JoinAlias(typeof(SaleOutStore));
var detail = new JoinAlias(typeof(SaleOutStore_Detail)); 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.Field("SecondNumber", detail));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OutUnitNum")); query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OutUnitNum"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.NULL, "OutSecondNumber")); 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)); OrganizationUtil.AddOrganizationLimit(query, typeof(SaleOutStore));
return query; return query;
} }


Loading…
Cancel
Save