diff --git a/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs b/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs index 7de4364..e69c91c 100644 --- a/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs +++ b/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.cs @@ -59,8 +59,9 @@ namespace BWP.Web.Pages.B3YunKen.Reports list.Add(new Tuple("Code", "编号")); list.Add(new Tuple("Remark", "备注")); list.Add(new Tuple("AccountingUnit_Name", "会计单位")); - list.Add(new Tuple("CustomerCatalog_Name", "客户分类")); + list.Add(new Tuple("Customer_CustomerCatalog_Name", "客户分类")); list.Add(new Tuple("AccountCustomer_Name", "结账客户")); + list.Add(new Tuple("Customer_Name", "购货客户")); list.Add(new Tuple("Customer_DeliveryPhone", "联系方式")); list.Add(new Tuple("OrderDate", "订货时间")); list.Add(new Tuple("LoadTime", "发货时间")); @@ -81,12 +82,14 @@ namespace BWP.Web.Pages.B3YunKen.Reports list.Add(new Tuple("GoodsPropertyCatalog_Name", "存货属性分类")); list.Add(new Tuple("Goods_Name", "存货名称")); list.Add(new Tuple("BrandItem_Name", "品牌")); + list.Add(new Tuple("Goods_Spec", "规格")); + list.Add(new Tuple("ProductLine_Name", "产品线")); list.Add(new Tuple("PackingMoney", "包装费")); list.Add(new Tuple("Goods_SecondUnit", "辅单位")); list.Add(new Tuple("AcceptSecondNumber", "验收辅数量")); list.Add(new Tuple("Unit", "报价单位")); list.Add(new Tuple("AcceptNum", "验收数量")); - list.Add(new Tuple("AcceptPrice", "平均销价")); + list.Add(new Tuple("AcceptPrice", "验收单价")); list.Add(new Tuple("NetPrice", "去包装净价")); list.Add(new Tuple("ToFreightNetPrice", "去运费单价")); list.Add(new Tuple("PolicyPrice", "政策价格")); @@ -121,9 +124,9 @@ B3FrameworksConsts.DataSources.授权会计单位全部), s => long.Parse(s)), " layout.Add("ProductLine_ID", new SimpleLabel("产品线"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(_productLine = QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ID"], B3UnitedInfosConsts.DataSources.产品线全部), s => long.Parse(s)), "ProductLine_ID")); layout["ProductLine_ID"].NotAutoAddToContainer = true; - - //layout.Add("CustomerCatalog_ID", new SimpleLabel("客户分类"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["CustomerCatalog_ID"], B3SaleDataSources.客户分类), s => long.Parse(s)), "CustomerCatalog_ID")); - //layout["CustomerCatalog_ID"].NotAutoAddToContainer = true; + + layout.Add("Customer_CustomerCatalog_ID", new SimpleLabel("客户分类"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Customer_CustomerCatalog_ID"], B3SaleDataSources.客户分类), s => long.Parse(s)), "Customer_CustomerCatalog_ID")); + layout["Customer_CustomerCatalog_ID"].NotAutoAddToContainer = true; layout.Add("Customer_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Customer_ID"], B3SaleDataSources.用户配置客户), s => long.Parse(s)), "Customer_ID")); @@ -138,9 +141,9 @@ B3SaleDataSources.结账客户), s => long.Parse(s)), "AccountCustomer_ID")); layout.Add("Employee_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Employee_ID"], B3FrameworksConsts.DataSources.授权员工全部), s => long.Parse(s)), "Employee_ID")); layout["Employee_ID"].NotAutoAddToContainer = true; - - //layout.Add("CustomerSaleZone_ID", new SimpleLabel("销售地区"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["CustomerSaleZone_ID"], B3SaleDataSources.授权销售地区)), "CustomerSaleZone_ID")); - //layout["CustomerSaleZone_ID"].NotAutoAddToContainer = true; + + layout.Add("CustomerSaleZone_ID", new SimpleLabel("销售地区"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["CustomerSaleZone_ID"], B3SaleDataSources.授权销售地区)), "CustomerSaleZone_ID")); + layout["CustomerSaleZone_ID"].NotAutoAddToContainer = true; layout.Add("Store_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Store_ID"], B3FrameworksConsts.DataSources.授权仓库), s => long.Parse(s)), "Store_ID")); layout["Store_ID"].NotAutoAddToContainer = true; @@ -159,6 +162,8 @@ B3SaleDataSources.结账客户), s => long.Parse(s)), "AccountCustomer_ID")); layout.Add("CustomerDealer_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["CustomerDealer_ID"], B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); layout["CustomerDealer_ID"].NotAutoAddToContainer = true; + layout.Add("ArriveTime", new SimpleLabel("到货时间"), QueryCreator.DateRange(mDFInfo.Fields["ID"], mQueryContainer, "MinArriveTime", "MaxArriveTime")); + layout["ArriveTime"].NotAutoAddToContainer = true; var config = layout.CreateDefaultConfig(2); config.Expand = false; config.Add("LoadTime"); @@ -193,34 +198,36 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); } - private DQueryDom GetGoods_Package() - { - var goods_Package = new JoinAlias(typeof(Goods_Package)); - var wrappage = new JoinAlias(typeof(Wrappage)); - var query = new DQueryDom(goods_Package); - query.From.AddJoin(JoinType.Left, new DQDmoSource(wrappage), DQCondition.EQ(wrappage, "ID", goods_Package, "Package_ID")); - query.Columns.Add(DQSelectColumn.Field("Goods_ID", goods_Package)); - query.Columns.Add(DQSelectColumn.Field("Price", goods_Package)); - query.Columns.Add(DQSelectColumn.Field("AccountingUnit_ID", wrappage)); - return query; - } + //private DQueryDom GetGoods_Package() + //{ + // var goods_Package = new JoinAlias(typeof(Goods_Package)); + // var wrappage = new JoinAlias(typeof(Wrappage)); + // var query = new DQueryDom(goods_Package); + // query.From.AddJoin(JoinType.Left, new DQDmoSource(wrappage), DQCondition.EQ(wrappage, "ID", goods_Package, "Package_ID")); + // query.Columns.Add(DQSelectColumn.Field("Goods_ID", goods_Package)); + // query.Columns.Add(DQSelectColumn.Create(DQExpression.LogicCase(DQExpression.EQ(DQExpression.Field( goods_Package,"WrappageKind_TreeDeep1ID"),DQExpression.Value(5)),DQExpression.Multiply(DQExpression.Field(goods_Package,"Price"),DQExpression.Field(goods_Package,"SmallPackNum")),DQExpression.Field(goo,))) goods_Package,"Price")); + // query.Columns.Add(DQSelectColumn.Field("AccountingUnit_ID", wrappage)); + // query.GroupBy.Expressions.Add(DQExpression.Field(goods_Package,"Goods_ID")); + // query.GroupBy.Expressions.Add(DQExpression.Field(wrappage,"AccountingUnit_ID")); + // return query; + //} protected override DQueryDom GetQueryDom() { var dom = base.GetQueryDom(); - var main = JoinAlias.Create("main"); new CustomerAccept(); + var main = JoinAlias.Create("main"); var detail = new JoinAlias(typeof(CustomerAccept_Detail)); var goods = new JoinAlias(typeof(SaleGoods)); var packageData = new JoinAlias(typeof(PackageData)); var outStore = new JoinAlias(typeof(SaleOutStore)); - dom.RegisterQueryTable(typeof(PackageData), new string[] { "Goods_ID", "Price", "AccountingUnit_ID" }, GetGoods_Package()); + //dom.RegisterQueryTable(typeof(PackageData), new string[] { "Goods_ID", "Price", "AccountingUnit_ID" }, GetGoods_Package()); dom.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(main, "ID", detail, "CustomerAccept_ID")); dom.From.AddJoin(JoinType.Left, new DQDmoSource(outStore), DQCondition.And(DQCondition.EQ(detail, "BillType",DmoTypeIDAttribute.GetID(typeof(SaleOutStore))), DQCondition.EQ(outStore, "ID", detail, "BillID"))); - dom.From.AddJoin(JoinType.Left, new DQDmoSource(packageData), - DQCondition.And(DQCondition.EQ(packageData, "Goods_ID", detail, "SaleGoods_ID"), DQCondition.EQ(packageData, "AccountingUnit_ID", main, "AccountingUnit_ID"))); + //dom.From.AddJoin(JoinType.Left, new DQDmoSource(packageData), + // DQCondition.And(DQCondition.EQ(packageData, "Goods_ID", detail, "SaleGoods_ID"), DQCondition.EQ(packageData, "AccountingUnit_ID", main, "AccountingUnit_ID"))); dom.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(goods, "ID", detail, "SaleGoods_ID")); @@ -257,14 +264,10 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); case "Code": case "Remark": case "AccountingUnit_Name": - //case "CustomerCatalog_Name": + case "Customer_CustomerCatalog_Name": case "AccountCustomer_Name": - //case "Customer_DeliveryPhone": - case "OrderDate": - case "LoadTime": - //case "ArriveTime": + case "Customer_DeliveryPhone": case "Department_Name": - //case "CustomerSaleZone_Name": case "SaleKind_Name": case "Employee_Name": case "CreditPolicy_Name": @@ -272,12 +275,17 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); case "TakeGoods_Type": case "Store_Name": case "CustomerDealer_Name": + case "Customer_Name": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(main, field)); break; case "Driver_Name": case "Driver_Telephone": case "HandcarNumber": + case "OrderDate": + case "LoadTime": + case "ArriveTime": + case "CustomerSaleZone_Name": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(outStore, field), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(outStore, field)); break; @@ -288,6 +296,8 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); case "Unit": case "PolicyPrice": case "AcceptPrice": + case "Goods_Spec": + case "ProductLine_Name": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, field), item.Text)); dom.GroupBy.Expressions.Add(DQExpression.Field(detail, field)); break; @@ -308,11 +318,11 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); SumColumnIndexs.Add(dom.Columns.Count - 1); break; case "PackingMoney": - dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Multiply(DQExpression.Field(packageData, "Price"), DQExpression.Field(detail, "AcceptSecondNumber"))), item.Text)); - SumColumnIndexs.Add(dom.Columns.Count - 1); + //dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Multiply(DQExpression.Field(packageData, "Price"), DQExpression.Field(detail, "AcceptSecondNumber"))), item.Text)); + //SumColumnIndexs.Add(dom.Columns.Count - 1); break; case "NetPrice": - dom.Columns.Add(DQSelectColumn.Create(DQExpression.Divide(DQExpression.Sum(DQExpression.Subtract(DQExpression.Field(detail, "Money"), DQExpression.IfNull(freightMoney, DQExpression.Value(0))).ESubtract(DQExpression.IfNull(DQExpression.Field(packageData, "Price"), DQExpression.Value(0)))), DQExpression.NullIfZero(DQExpression.Sum(DQExpression.Field(detail, "AcceptNum")))), item.Text)); + //dom.Columns.Add(DQSelectColumn.Create(DQExpression.Divide(DQExpression.Sum(DQExpression.Subtract(DQExpression.Field(detail, "Money"), DQExpression.IfNull(freightMoney, DQExpression.Value(0))).ESubtract(DQExpression.IfNull(DQExpression.Field(packageData, "Price"), DQExpression.Value(0)))), DQExpression.NullIfZero(DQExpression.Sum(DQExpression.Field(detail, "AcceptNum")))), item.Text)); break; case "ToFreightNetPrice": dom.Columns.Add(DQSelectColumn.Create(DQExpression.Divide(DQExpression.Sum(DQExpression.Subtract(DQExpression.Field(detail, "Money"), DQExpression.IfNull(freightMoney, DQExpression.Value(0)))), DQExpression.NullIfZero(DQExpression.Sum(DQExpression.Field(detail, "AcceptNum")))), item.Text)); @@ -334,6 +344,14 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); if (!_goodsBatch.IsEmpty) { dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "GoodsBatch_ID"), _goodsBatch.GetValues().Select(x => DQExpression.Value(x)).ToArray())); } + var minArriveTime = mQueryContainer.GetControl("MinArriveTime").Value; + var maxArriveTime = mQueryContainer.GetControl("MaxArriveTime").Value; + if (minArriveTime.HasValue) { + dom.Where.Conditions.Add(DQCondition.GreaterThanOrEqual(outStore, "ArriveTime",minArriveTime )); + } + if (maxArriveTime.HasValue) { + dom.Where.Conditions.Add(DQCondition.LessThanOrEqual(outStore, "ArriveTime", maxArriveTime)); + } dom.Where.Conditions.Add(DQCondition.EQ(main, "BillState", 单据状态.已审核)); return dom; } diff --git a/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.xml b/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.xml index 23e7e62..0ddb434 100644 --- a/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.xml +++ b/BWP.B3_YunKen.Web/Pages/B3YunKen/Reports/ToFreightNetPriceReport2.xml @@ -43,6 +43,10 @@ + + + +