public ISqlDom CreateView() { var main = new JoinAlias(typeof(DailyProductReport)); var inputdetail = new JoinAlias(typeof(DailyProductReport_InputDetail)); var dom = new DQueryDom(main); dom.From.AddJoin(JoinType.Inner, new DQDmoSource(inputdetail), DQCondition.EQ(main, "ID", inputdetail, "DailyProductReport_ID")); dom.Columns.Add(DQSelectColumn.Field("Domain_ID")); dom.Columns.Add(DQSelectColumn.Field("AccountingUnit_ID")); dom.Columns.Add(DQSelectColumn.Field("Department_ID")); dom.Columns.Add(DQSelectColumn.Field("Date")); dom.Columns.Add(DQSelectColumn.Field("PlanNumber_ID")); dom.Columns.Add(DQSelectColumn.Field("Goods_ID", inputdetail)); dom.Columns.Add(DQSelectColumn.Field("Number", inputdetail)); dom.Columns.Add(DQSelectColumn.Field("Weight", inputdetail)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Value <decimal?>(null), "OutputPrecent")); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Value <decimal>(0), "Price")); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Value <bool>(false), "DetailType")); dom.Where.Conditions.Add(DQCondition.EQ("BillState", 单据状态.已审核)); SelectDom selectDom = (SelectDom)dom.Build(DbProviderType.SqlClient, DbmsType.SqlServer2005); UnionDom unionDom = new UnionDom(); UnionItem inputDetailUnion = new UnionItem(selectDom, UnionType.Default); UnionItem outputDetailUnion = new UnionItem(GetOutputDetailDom(), UnionType.All); unionDom.Items.Add(inputDetailUnion); unionDom.Items.Add(outputDetailUnion); return(unionDom); }
private SelectDom GetOutputDetailDom() { var main = new JoinAlias(typeof(DailyProductReport)); var outputdetail = new JoinAlias(typeof(DailyProductReport_OutputDetail)); var dom = new DQueryDom(main); dom.From.AddJoin(JoinType.Inner, new DQDmoSource(outputdetail), DQCondition.EQ(main, "ID", outputdetail, "DailyProductReport_ID")); dom.Columns.Add(DQSelectColumn.Field("Domain_ID")); dom.Columns.Add(DQSelectColumn.Field("AccountingUnit_ID")); dom.Columns.Add(DQSelectColumn.Field("Department_ID")); dom.Columns.Add(DQSelectColumn.Field("Date")); dom.Columns.Add(DQSelectColumn.Field("PlanNumber_ID")); dom.Columns.Add(DQSelectColumn.Field("Goods_ID", outputdetail)); dom.Columns.Add(DQSelectColumn.Field("Number", outputdetail)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Value <decimal?>(null), "Weight")); dom.Columns.Add(DQSelectColumn.Field("OutputPrecent", outputdetail)); dom.Columns.Add(DQSelectColumn.Field("Price", outputdetail)); dom.Columns.Add(DQSelectColumn.Create(DQExpression.Value <bool>(true), "DetailType")); dom.Where.Conditions.Add(DQCondition.EQ("BillState", 单据状态.已审核)); SelectDom selectDom = (SelectDom)dom.Build(DbProviderType.SqlClient, DbmsType.SqlServer2005); return(selectDom); }