|
|
|
@ -198,19 +198,17 @@ 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.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;
|
|
|
|
//}
|
|
|
|
private DQueryDom GetGoods_Package() |
|
|
|
{ |
|
|
|
var goods_Package = new JoinAlias(typeof(Goods_PackagePrice)); |
|
|
|
var query = new DQueryDom(goods_Package); |
|
|
|
query.Columns.Add(DQSelectColumn.Field("Goods_ID")); |
|
|
|
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("Price")),"packagePrice")); |
|
|
|
query.Columns.Add(DQSelectColumn.Field("AccountingUnit_ID")); |
|
|
|
query.GroupBy.Expressions.Add(DQExpression.Field("Goods_ID")); |
|
|
|
query.GroupBy.Expressions.Add(DQExpression.Field("AccountingUnit_ID")); |
|
|
|
return query; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
protected override DQueryDom GetQueryDom() |
|
|
|
@ -221,13 +219,13 @@ B3SaleDataSources.经销商), s => long.Parse(s)), "CustomerDealer_ID")); |
|
|
|
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")); |
|
|
|
|
|
|
|
@ -318,11 +316,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)); |
|
|
|
|