@ -59,8 +59,9 @@ namespace BWP.Web.Pages.B3YunKen.Reports
list . Add ( new Tuple < string , string > ( "Code" , "编号" ) ) ;
list . Add ( new Tuple < string , string > ( "Remark" , "备注" ) ) ;
list . Add ( new Tuple < string , string > ( "AccountingUnit_Name" , "会计单位" ) ) ;
list . Add ( new Tuple < string , string > ( "CustomerCatalog_Name" , "客户分类" ) ) ;
list . Add ( new Tuple < string , string > ( "Customer_Customer Catalog_Name" , "客户分类" ) ) ;
list . Add ( new Tuple < string , string > ( "AccountCustomer_Name" , "结账客户" ) ) ;
list . Add ( new Tuple < string , string > ( "Customer_Name" , "购货客户" ) ) ;
list . Add ( new Tuple < string , string > ( "Customer_DeliveryPhone" , "联系方式" ) ) ;
list . Add ( new Tuple < string , string > ( "OrderDate" , "订货时间" ) ) ;
list . Add ( new Tuple < string , string > ( "LoadTime" , "发货时间" ) ) ;
@ -81,12 +82,14 @@ namespace BWP.Web.Pages.B3YunKen.Reports
list . Add ( new Tuple < string , string > ( "GoodsPropertyCatalog_Name" , "存货属性分类" ) ) ;
list . Add ( new Tuple < string , string > ( "Goods_Name" , "存货名称" ) ) ;
list . Add ( new Tuple < string , string > ( "BrandItem_Name" , "品牌" ) ) ;
list . Add ( new Tuple < string , string > ( "Goods_Spec" , "规格" ) ) ;
list . Add ( new Tuple < string , string > ( "ProductLine_Name" , "产品线" ) ) ;
list . Add ( new Tuple < string , string > ( "PackingMoney" , "包装费" ) ) ;
list . Add ( new Tuple < string , string > ( "Goods_SecondUnit" , "辅单位" ) ) ;
list . Add ( new Tuple < string , string > ( "AcceptSecondNumber" , "验收辅数量" ) ) ;
list . Add ( new Tuple < string , string > ( "Unit" , "报价单位" ) ) ;
list . Add ( new Tuple < string , string > ( "AcceptNum" , "验收数量" ) ) ;
list . Add ( new Tuple < string , string > ( "AcceptPrice" , "平均销 价" ) ) ;
list . Add ( new Tuple < string , string > ( "AcceptPrice" , "验收单 价" ) ) ;
list . Add ( new Tuple < string , string > ( "NetPrice" , "去包装净价" ) ) ;
list . Add ( new Tuple < string , string > ( "ToFreightNetPrice" , "去运费单价" ) ) ;
list . Add ( new Tuple < string , string > ( "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 < DFDateInput > ( "MinArriveTime" ) . Value ;
var maxArriveTime = mQueryContainer . GetControl < DFDateInput > ( "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 ;
}