|
|
using BWP.B3Frameworks;
|
|
|
using BWP.B3Frameworks.BO.NamedValueTemplate;
|
|
|
using BWP.B3Sale.BO;
|
|
|
using BWP.B3Sale.Utils;
|
|
|
using BWP.Web.Layout;
|
|
|
using BWP.Web.Utils;
|
|
|
using BWP.Web.WebControls;
|
|
|
using Forks.EnterpriseServices.DataForm;
|
|
|
using Forks.EnterpriseServices.DomainObjects2;
|
|
|
using Forks.EnterpriseServices.DomainObjects2.DQuery;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Web.UI.WebControls;
|
|
|
using TSingSoft.WebControls2;
|
|
|
using TSingSoft.WebControls2.QBELinks;
|
|
|
using Forks.EnterpriseServices.SqlDoms;
|
|
|
using BWP.B3_YunKen.BO;
|
|
|
using BWP.B3UnitedInfos;
|
|
|
using Forks.Utils;
|
|
|
|
|
|
namespace BWP.Web.Pages.B3YunKen.Reports
|
|
|
{
|
|
|
public class ToFreightNetPriceReport : DFBrowseGridReportPage
|
|
|
{
|
|
|
|
|
|
protected override string AccessRoleName
|
|
|
{
|
|
|
get
|
|
|
{
|
|
|
return "B3_YunKen.报表分析.去运费净价表";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
protected override string Caption
|
|
|
{
|
|
|
get { return "去运费净价表"; }
|
|
|
}
|
|
|
|
|
|
CheckBoxListWithReverseSelect checkbox;
|
|
|
DFChoiceBox _goods, _goodsPropertyCatalog, _brandItem, _productLine, _goodsBatch;
|
|
|
private readonly DFInfo mDFInfo = DFInfo.Get(typeof(SaleOutStore));
|
|
|
private readonly DFInfo _detailInfo = DFInfo.Get(typeof(SaleOutStore_Detail));
|
|
|
|
|
|
protected override void InitQueryPanel(QueryPanel queryPanel)
|
|
|
{
|
|
|
base.InitQueryPanel(queryPanel);
|
|
|
var panel = queryPanel.CreateTab("显示字段");
|
|
|
|
|
|
checkbox = new CheckBoxListWithReverseSelect() { RepeatColumns = 6, RepeatDirection = RepeatDirection.Horizontal };
|
|
|
|
|
|
var list = new List<Tuple<string, string>>();
|
|
|
list.Add(new Tuple<string, string>("YearOfLoadTime", "每年"));
|
|
|
list.Add(new Tuple<string, string>("TenDaysOfLoadTime", "每旬"));
|
|
|
list.Add(new Tuple<string, string>("MonthOfLoadTime", "每月"));
|
|
|
list.Add(new Tuple<string, string>("WeekOfLoadTime", "每周"));
|
|
|
list.Add(new Tuple<string, string>("DayOfLoadTime", "每日"));
|
|
|
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>("AccountCustomer_Name", "结账客户"));
|
|
|
list.Add(new Tuple<string, string>("Customer_DeliveryPhone", "联系方式"));
|
|
|
list.Add(new Tuple<string, string>("OrderDate", "订货时间"));
|
|
|
list.Add(new Tuple<string, string>("LoadTime", "发货时间"));
|
|
|
list.Add(new Tuple<string, string>("ArriveTime", "到货时间"));
|
|
|
list.Add(new Tuple<string, string>("Department_Name", "部门"));
|
|
|
list.Add(new Tuple<string, string>("CustomerSaleZone_Name", "地区"));
|
|
|
list.Add(new Tuple<string, string>("SaleKind_Name", "销售类型"));
|
|
|
list.Add(new Tuple<string, string>("Employee_Name", "销售人员"));
|
|
|
list.Add(new Tuple<string, string>("AccountCustomer_CreditPolicy_Name", "信用政策"));
|
|
|
list.Add(new Tuple<string, string>("FreightMoney", "运费"));
|
|
|
list.Add(new Tuple<string, string>("Money", "金额"));
|
|
|
list.Add(new Tuple<string, string>("Store_Name", "仓库"));
|
|
|
list.Add(new Tuple<string, string>("DeliverAddress", "送货地址"));
|
|
|
list.Add(new Tuple<string, string>("TakeGoods_Type", "配送方式"));
|
|
|
list.Add(new Tuple<string, string>("Driver_Name", "司机"));
|
|
|
list.Add(new Tuple<string, string>("Driver_Telephone", "司机电话"));
|
|
|
list.Add(new Tuple<string, string>("HandcarNumber", "车牌号"));
|
|
|
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>("PackingMoney", "包装费"));
|
|
|
list.Add(new Tuple<string, string>("Goods_SecondUnit", "辅单位"));
|
|
|
list.Add(new Tuple<string, string>("SecondNumber", "辅数量"));
|
|
|
list.Add(new Tuple<string, string>("Unit", "报价单位"));
|
|
|
list.Add(new Tuple<string, string>("UnitNum", "报价数量"));
|
|
|
list.Add(new Tuple<string, string>("Price", "平均销价"));
|
|
|
list.Add(new Tuple<string, string>("NetPrice", "去包装净价"));
|
|
|
list.Add(new Tuple<string, string>("ToFreightNetPrice", "去运费单价"));
|
|
|
list.Add(new Tuple<string, string>("PolicyPrice", "政策价格"));
|
|
|
var section = mPageLayoutManager.AddSection("显示字段", "显示字段");
|
|
|
section.ApplyLayout(list, mPageLayoutManager);
|
|
|
foreach (var item in list)
|
|
|
{
|
|
|
section.SetDisplayName(item.Item1, item.Item2);
|
|
|
checkbox.Items.Add(new ListItem(item.Item2, item.Item1));
|
|
|
}
|
|
|
panel.EAdd(checkbox);
|
|
|
mQueryControls.Add("显示字段", checkbox);
|
|
|
mQueryControls.EnableHoldLastControlNames.Add("显示字段");
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
protected override void AddQueryControls(VLayoutPanel vPanel)
|
|
|
{
|
|
|
var layout = new LayoutManager("main", mDFInfo, mQueryContainer);
|
|
|
|
|
|
layout.Add("AccountingUnit_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["AccountingUnit_ID"],
|
|
|
B3FrameworksConsts.DataSources.授权会计单位全部), s => long.Parse(s)), "AccountingUnit_ID"));
|
|
|
layout["AccountingUnit_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
layout.Add("Goods_ID", new SimpleLabel("存货"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(_goods = QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ID"], B3SaleDataSources.可销售存货), s => long.Parse(s)), "Goods_ID"));
|
|
|
layout["Goods_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
layout.Add("GoodsPropertyCatalog_ID", new SimpleLabel("属性分类"), _goodsPropertyCatalog = new DFChoiceBox() { DataKind = B3UnitedInfosConsts.DataSources.存货属性分类, Width = Unit.Empty, EnableTopItem = true, EnableMultiSelection = true, EnableMultiSelectionViewer = true, EnableInputArgument = true }, false);
|
|
|
layout["GoodsPropertyCatalog_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
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_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Customer_ID"],
|
|
|
B3SaleDataSources.用户配置客户), s => long.Parse(s)), "Customer_ID"));
|
|
|
layout["Customer_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
layout.Add("AccountCustomer_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["AccountCustomer_ID"],
|
|
|
B3SaleDataSources.结账客户), s => long.Parse(s)), "AccountCustomer_ID"));
|
|
|
layout["AccountCustomer_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
layout.Add("Department_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Department_ID"], B3FrameworksConsts.DataSources.授权部门), s => long.Parse(s)), "Department_ID"));
|
|
|
layout["Department_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
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("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;
|
|
|
|
|
|
layout.Add("SaleKind_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["SaleKind_ID"], B3SaleDataSources.销售类型), s => long.Parse(s)), "SaleKind_ID"));
|
|
|
layout["SaleKind_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
layout.Add("Car_ID", mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Car_ID"], B3SaleDataSources.车辆), s => long.Parse(s)), "Car_ID"));
|
|
|
layout["Car_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
layout.Add("GoodsBatch_ID", new SimpleLabel("存货批次"), mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(_goodsBatch = QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["ID"], B3UnitedInfosConsts.DataSources.存货批次), s => long.Parse(s)), "GoodsBatch_ID"));
|
|
|
layout["GoodsBatch_ID"].NotAutoAddToContainer = true;
|
|
|
|
|
|
layout.Add("BrandItem_ID", new SimpleLabel("品牌项"),mQueryContainer.AddLink(new ChoiceBoxMultiSelectLink(_brandItem = QueryCreator.DFChoiceBoxEnableMultiSelection(mDFInfo.Fields["Car_ID"], B3UnitedInfosConsts.DataSources.品牌项), s => long.Parse(s)), "BrandItem_ID"));
|
|
|
layout["BrandItem_ID"].NotAutoAddToContainer = true;
|
|
|
var config = layout.CreateDefaultConfig(2);
|
|
|
config.Expand = false;
|
|
|
//config.Add("LoadTime");
|
|
|
//config.Add("OrderDate");
|
|
|
//config.Add("AccountingUnit_ID");
|
|
|
//config.Add("Goods_ID");
|
|
|
//config.Add("GoodsPropertyCatalog_ID");
|
|
|
//config.Add("ProductLine_ID");
|
|
|
//config.Add("CustomerCatalog_ID");
|
|
|
//config.Add("Customer_ID");
|
|
|
//config.Add("AccountCustomer_ID");
|
|
|
//config.Add("Department_ID");
|
|
|
//config.Add("Employee_ID");
|
|
|
//config.Add("SaleZone_ID");
|
|
|
//config.Add("Store_ID");
|
|
|
//config.Add("SaleKind_ID");
|
|
|
//config.Add("Car_ID");
|
|
|
//config.Add("GoodsBatch_ID");
|
|
|
//config.Add("BrandItem_ID");
|
|
|
layout.Config = config;
|
|
|
var section = mPageLayoutManager.AddSection("查询条件", "查询条件");
|
|
|
section.ApplyLayout(layout, config, mPageLayoutManager, mDFInfo);
|
|
|
vPanel.Add(layout.CreateLayout(), new VLayoutOption(HorizontalAlign.Center));
|
|
|
}
|
|
|
|
|
|
class PackageData
|
|
|
{
|
|
|
public long? Goods_ID { get; set; }
|
|
|
public Money<decimal>? Price { get; set; }
|
|
|
public long? AccountingUnit_ID { get; set; }
|
|
|
}
|
|
|
|
|
|
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
|
|
|
protected override DQueryDom GetQueryDom()
|
|
|
{
|
|
|
var dom = base.GetQueryDom();
|
|
|
var main = JoinAlias.Create("main");
|
|
|
var detail = new JoinAlias(typeof(SaleOutStore_Detail));
|
|
|
var goods = new JoinAlias(typeof(SaleGoods));
|
|
|
var packageData = new JoinAlias(typeof(PackageData));
|
|
|
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, "SaleOutStore_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"));
|
|
|
|
|
|
var freightMoney = DQExpression.LogicCase(DQExpression.EQ(DQExpression.Field(main, "FreightBear"), DQExpression.Value(运费承担方.购方)), DQExpression.NULL, DQExpression.Multiply(DQExpression.Field(main, "FreightPrice"), DQExpression.Divide(DQExpression.Field(detail, "UnitNum"), DQExpression.NullIfZero(DQExpression.Field(main, "AllUnitNum")))));
|
|
|
foreach (ListItem item in checkbox.Items)
|
|
|
{
|
|
|
if (!item.Selected) { continue; }
|
|
|
var field = item.Value;
|
|
|
switch (field) {
|
|
|
case "YearOfLoadTime":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>("Left(Convert(nvarchar(10),main.LoadTime, 23),4)"), item.Text));
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
|
|
|
break;
|
|
|
case "MonthOfLoadTime":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>("Left(Convert(nvarchar(10),main.LoadTime, 23),7)"), item.Text));
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
|
|
|
break;
|
|
|
case "TenDaysOfLoadTime":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>(@"CASE WHEN day(main.LoadTime) > 0 AND day(main.LoadTime)<= 10
|
|
|
THEN cast(YEAR(main.LoadTime)as nvarchar)+'年'+cast(MONTH(main.LoadTime)as nvarchar) + '月上旬'
|
|
|
WHEN day(main.LoadTime) > 10 AND day(main.LoadTime)<= 20
|
|
|
THEN cast(YEAR(main.LoadTime)as nvarchar)+'年'+cast(MONTH(main.LoadTime)as nvarchar) + '月中旬'
|
|
|
WHEN day(main.LoadTime) > 20
|
|
|
THEN cast(YEAR(main.LoadTime)as nvarchar)+'年'+cast(MONTH(main.LoadTime)as nvarchar) + '月下旬' END"), item.Text));
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
|
|
|
break;
|
|
|
case "WeekOfLoadTime":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>("convert(nvarchar(10), dateadd(day,1-(datepart(weekday,main.LoadTime)+@@datefirst-1)%7,main.LoadTime),23)+'~'+convert(nvarchar(10),dateadd(day,7-(datepart(weekday,main.LoadTime)+@@datefirst-1)%7,main.LoadTime),23)"), item.Text));
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
|
|
|
break;
|
|
|
case "DayOfLoadTime":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Snippet<string>("Convert(nvarchar(10),main.LoadTime, 23)"), item.Text));
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(main, "LoadTime"));
|
|
|
break;
|
|
|
case "Code":
|
|
|
case "Remark":
|
|
|
case "AccountingUnit_Name":
|
|
|
case "CustomerCatalog_Name":
|
|
|
case "AccountCustomer_Name":
|
|
|
case "Customer_DeliveryPhone":
|
|
|
case "OrderDate":
|
|
|
case "LoadTime":
|
|
|
case "ArriveTime":
|
|
|
case "Department_Name":
|
|
|
case "CustomerSaleZone_Name":
|
|
|
case "SaleKind_Name":
|
|
|
case "Employee_Name":
|
|
|
case "AccountCustomer_CreditPolicy_Name":
|
|
|
case "DeliverAddress":
|
|
|
case "TakeGoods_Type":
|
|
|
case "Driver_Name":
|
|
|
case "Driver_Telephone":
|
|
|
case "HandcarNumber":
|
|
|
case "Store_Name":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(main, field), item.Text));
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(main, field));
|
|
|
break;
|
|
|
case "GoodsPropertyCatalog_Name":
|
|
|
case "Goods_Name":
|
|
|
case "BrandItem_Name":
|
|
|
case "Goods_SecondUnit":
|
|
|
case "Unit":
|
|
|
case "PolicyPrice":
|
|
|
case "Price":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, field), item.Text));
|
|
|
dom.GroupBy.Expressions.Add(DQExpression.Field(detail, field));
|
|
|
break;
|
|
|
case "FreightMoney":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(freightMoney),item.Text));
|
|
|
break;
|
|
|
case "Money":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(main, field)), item.Text));
|
|
|
break;
|
|
|
case "PackingMoney":
|
|
|
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Multiply(DQExpression.Field(packageData, "Price"), DQExpression.Field(detail, "SecondNumber"))), item.Text));
|
|
|
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, "UnitNum")))), 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, "UnitNum")))), item.Text));
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if (!_goods.IsEmpty) {
|
|
|
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "SaleGoods_ID"), _goods.GetValues().Select(x => DQExpression.Value(x)).ToArray()));
|
|
|
}
|
|
|
if (!_brandItem.IsEmpty) {
|
|
|
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "BrandItem_ID"), _brandItem.GetValues().Select(x => DQExpression.Value(x)).ToArray()));
|
|
|
}
|
|
|
if (!_goodsPropertyCatalog.IsEmpty) {
|
|
|
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "GoodsPropertyCatalog_ID"), _goodsPropertyCatalog.GetValues().Select(x => DQExpression.Value(x)).ToArray()));
|
|
|
}
|
|
|
if (!_productLine.IsEmpty) {
|
|
|
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(goods, "ProductLine_ID"), _productLine.GetValues().Select(x => DQExpression.Value(x)).ToArray()));
|
|
|
}
|
|
|
if (!_goodsBatch.IsEmpty) {
|
|
|
dom.Where.Conditions.Add(DQCondition.InList(DQExpression.Field(detail, "GoodsBatch_ID"), _goodsBatch.GetValues().Select(x => DQExpression.Value(x)).ToArray()));
|
|
|
}
|
|
|
dom.Where.Conditions.Add(DQCondition.EQ(main, "BillState", 单据状态.已审核));
|
|
|
return dom;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|