|
|
|
@ -46,7 +46,7 @@ namespace BWP.Web.Pages.B3YunKen.Reports |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private ChoiceBox _goods, _brandItem, _productLine, _goodsProperty, _goodsPropertyCatalog, _productionUnit; |
|
|
|
private ChoiceBox _goods, _brandItem, _productLine, _goodsProperty, _goodsPropertyCatalog, _accountingUnit; |
|
|
|
private CheckBoxListWithReverseSelect _checkbox; |
|
|
|
[DFClass] |
|
|
|
private class InStoreData |
|
|
|
@ -73,8 +73,8 @@ namespace BWP.Web.Pages.B3YunKen.Reports |
|
|
|
query.Columns.Add(DQSelectColumn.Field("GoodsBatch_ID", detail)); |
|
|
|
query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ("BillState", 单据状态.已审核), DQCondition.EQ("BillState", 单据状态.已完毕))); |
|
|
|
query.Where.Conditions.Add(DQCondition.EQ("Domain_ID",DomainContext.Current.ID)); |
|
|
|
if (!_productionUnit.IsEmpty) { |
|
|
|
query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(inStore, "ProductionUnit_ID"), _productionUnit.GetValues().Select(x => DQExpression.Value(x)).ToArray())); |
|
|
|
if (!_accountingUnit.IsEmpty) { |
|
|
|
query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(inStore, "AccountingUnit_ID"), _accountingUnit.GetValues().Select(x => DQExpression.Value(x)).ToArray())); |
|
|
|
} |
|
|
|
query.GroupBy.Expressions.Add(DQExpression.Snippet("convert(varchar(100),InStoreDate,23)")); |
|
|
|
query.GroupBy.Expressions.Add(DQExpression.Field(detail, "Goods_ID")); |
|
|
|
@ -91,7 +91,7 @@ namespace BWP.Web.Pages.B3YunKen.Reports |
|
|
|
public long? BrandItem_ID { get; set; } |
|
|
|
public Money<decimal>? SumNumber { get; set; } |
|
|
|
public Money<decimal>? SumSecondNumber { get; set; } |
|
|
|
public string ProductionUnit_Name { get; set; } |
|
|
|
public string AccountingUnit_Name { get; set; } |
|
|
|
public string Employee_Name { get; set; } |
|
|
|
public long? GoodsBatch_ID { get; set; } |
|
|
|
} |
|
|
|
@ -107,25 +107,25 @@ namespace BWP.Web.Pages.B3YunKen.Reports |
|
|
|
dom.Columns.Add(DQSelectColumn.Field("BrandItem_ID", detail)); |
|
|
|
dom.Columns.Add(DQSelectColumn.Sum(detail, "Number", "SumNumber")); |
|
|
|
dom.Columns.Add(DQSelectColumn.Sum(detail, "SecondNumber", "SumSecondNumber")); |
|
|
|
dom.Columns.Add(DQSelectColumn.Field("ProductionUnit_Name", bill)); |
|
|
|
dom.Columns.Add(DQSelectColumn.Field("AccountingUnit_Name", bill)); |
|
|
|
dom.Columns.Add(DQSelectColumn.Field("Employee_Name", bill)); |
|
|
|
dom.Columns.Add(DQSelectColumn.Field("GoodsBatch_ID", detail)); |
|
|
|
dom.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ("BillState", 单据状态.已审核), DQCondition.EQ("BillState", 单据状态.已完毕))); |
|
|
|
dom.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID)); |
|
|
|
if (!_productionUnit.IsEmpty) { |
|
|
|
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(bill, "ProductionUnit_ID"), _productionUnit.GetValues().Select(x => DQExpression.Value(x)).ToArray())); |
|
|
|
if (!_accountingUnit.IsEmpty) { |
|
|
|
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(bill, "AccountingUnit_ID"), _accountingUnit.GetValues().Select(x => DQExpression.Value(x)).ToArray())); |
|
|
|
} |
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Snippet("convert(varchar(100),Date,23)")); |
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(detail, "Goods_ID")); |
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(detail, "BrandItem_ID")); |
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(bill, "ProductionUnit_Name")); |
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(bill, "AccountingUnit_Name")); |
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(bill, "Employee_Name")); |
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(detail, "BrandItem_ID")); |
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(detail, "GoodsBatch_ID")); |
|
|
|
var finishData = new JoinAlias("finiData", typeof(FinishData)); |
|
|
|
var inStoreData = new JoinAlias("inData",typeof(InStoreData)); |
|
|
|
var query = new DQueryDom(finishData); |
|
|
|
query.RegisterQueryTable(typeof(FinishData), new List<string> { "Date", "Goods_ID", "BrandItem_ID", "SumNumber", "SumSecondNumber", "ProductionUnit_Name", "Employee_Name", "GoodsBatch_ID" }, dom); |
|
|
|
query.RegisterQueryTable(typeof(FinishData), new List<string> { "Date", "Goods_ID", "BrandItem_ID", "SumNumber", "SumSecondNumber", "AccountingUnit_Name", "Employee_Name", "GoodsBatch_ID" }, dom); |
|
|
|
query.RegisterQueryTable(typeof(InStoreData), new List<string> { "Date", "Goods_ID", "BrandItem_ID", "SumNumber", "SumSecondNumber", "GoodsBatch_ID" }, GetInStoreQuery()); |
|
|
|
query.From.AddJoin(JoinType.Left, new DQDmoSource(inStoreData), DQCondition.And(DQCondition.EQ(finishData, "Goods_ID", inStoreData, "Goods_ID"), DQExpression.Snippet("datediff(day,inData.Date,finiData.Date) = 1"), DQCondition.EQ(finishData, "BrandItem_ID", inStoreData, "BrandItem_ID"), DQCondition.Or(DQCondition.EQ(finishData, "GoodsBatch_ID", inStoreData, "GoodsBatch_ID"), DQCondition.And(DQCondition.IsNull(DQExpression.Field(finishData, "GoodsBatch_ID")), DQCondition.IsNull(DQExpression.Field(inStoreData, "GoodsBatch_ID")))))); |
|
|
|
var goods1 = new JoinAlias("goods", typeof(Goods)); |
|
|
|
@ -156,7 +156,7 @@ namespace BWP.Web.Pages.B3YunKen.Reports |
|
|
|
foreach (ListItem field in _checkbox.Items) { |
|
|
|
if (field.Selected) { |
|
|
|
switch (field.Text) { |
|
|
|
case "生产单位": |
|
|
|
case "会计单位": |
|
|
|
case "经办人": |
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(finishData,field.Value), field.Text)); |
|
|
|
query.GroupBy.Expressions.Add(DQExpression.Field(finishData,field.Value)); |
|
|
|
@ -263,9 +263,8 @@ namespace BWP.Web.Pages.B3YunKen.Reports |
|
|
|
{ |
|
|
|
base.InitQueryPanel(queryPanel); |
|
|
|
var panel = queryPanel.CreateTab("显示字段"); |
|
|
|
|
|
|
|
_checkbox = new CheckBoxListWithReverseSelect { RepeatColumns = 6, RepeatDirection = RepeatDirection.Horizontal }; |
|
|
|
_checkbox.Items.Add(new ListItem("生产单位", "ProductionUnit_Name")); |
|
|
|
_checkbox.Items.Add(new ListItem("会计单位", "AccountingUnit_Name")); |
|
|
|
_checkbox.Items.Add(new ListItem("经办人", "Employee_Name")); |
|
|
|
_checkbox.Items.Add(new ListItem("存货分类","GoodsPropertyCatalog_Name")); |
|
|
|
_checkbox.Items.Add(new ListItem("品牌项","Name")); |
|
|
|
@ -333,8 +332,8 @@ namespace BWP.Web.Pages.B3YunKen.Reports |
|
|
|
|
|
|
|
//layoutManager.Add("Employee_ID", QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Employee_ID"], mQueryContainer, "Employee_ID", B3FrameworksConsts.DataSources.授权员工全部));
|
|
|
|
//layoutManager["Employee_ID"].NotAutoAddToContainer = true;
|
|
|
|
layoutManager.Add("ProductionUnit_ID", new SimpleLabel("生产单位"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(_productionUnit = QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ProductionUnit_ID"], B3ProduceUnitedInfosDataSources.生产单位全部), s => long.Parse(s)), "ProductionUnit_ID")); |
|
|
|
layoutManager["ProductionUnit_ID"].NotAutoAddToContainer = true; |
|
|
|
layoutManager.Add("AccountingUnit_ID", new SimpleLabel("会计单位"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(_accountingUnit = QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["AccountingUnit_ID"], B3FrameworksConsts.DataSources.授权会计单位全部), s => long.Parse(s)), "AccountingUnit_ID")); |
|
|
|
layoutManager["AccountingUnit_ID"].NotAutoAddToContainer = true; |
|
|
|
|
|
|
|
layoutManager.Add("GoodsProperty_ID", new SimpleLabel("存货属性"), _goodsProperty = new ChoiceBox() { DataKind = B3UnitedInfosConsts.DataSources.存货属性全部, Width = Unit.Empty, EnableTopItem = true, EnableMultiSelection = true, EnableMultiSelectionViewer = true, EnableInputArgument = true }, false); |
|
|
|
|
|
|
|
@ -355,7 +354,7 @@ namespace BWP.Web.Pages.B3YunKen.Reports |
|
|
|
|
|
|
|
var config = new AutoLayoutConfig { Cols = 4 }; |
|
|
|
config.Add("FinishDate"); |
|
|
|
config.Add("ProductionUnit_ID"); |
|
|
|
config.Add("AccountingUnit_ID"); |
|
|
|
config.Add("GoodsProperty_ID"); |
|
|
|
config.Add("GoodsPropertyCatalog_ID"); |
|
|
|
if (_useBrandItem) |
|
|
|
|