Browse Source

报表取值调整

master
wugang 7 years ago
parent
commit
bf5be22eab
2 changed files with 18 additions and 17 deletions
  1. +14
    -15
      BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ProduceFinishDiffReport.cs
  2. +4
    -2
      BWP.B3_YunKen/TypeIoc/SaleOutStoreSetFreightPriceIOC.cs

+ 14
- 15
BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ProduceFinishDiffReport.cs View File

@ -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)


+ 4
- 2
BWP.B3_YunKen/TypeIoc/SaleOutStoreSetFreightPriceIOC.cs View File

@ -25,14 +25,16 @@ namespace BWP.B3_YunKen.TypeIoc
{
entity.FreightPayment = dmo.FreightPayment;
var anyNum = details.Sum(x => (x.UnitNum ?? 0).Value);
var anyFre = dmo.FreightUnitPrice * (anyNum/1000); //按吨算运费
var anyFre = dmo.FreightUnitPrice * (anyNum / 1000); //按吨算运费
if (entity.FreightPayment == .) {
entity.FreightPrice = anyFre;
} else if (entity.FreightPayment == .) {
var alreadyUnitNum = GetAlreadyAcceptUnitNum(dmo, session);
if (alreadyUnitNum > 0) {
if ((alreadyUnitNum + anyNum) >= dmo.AllUnitNum) {
entity.FreightPrice = dmo.FreightPrice - ((dmo.FreightUnitPrice??0).Value * (alreadyUnitNum/1000));
entity.FreightPrice = dmo.FreightPrice - ((dmo.FreightUnitPrice ?? 0).Value * (alreadyUnitNum / 1000));
} else {
entity.FreightPrice = anyFre;
}
} else if (anyNum >= dmo.AllUnitNum) {
entity.FreightPrice = dmo.FreightPrice;


Loading…
Cancel
Save