Пример #1
0
        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);
        }
Пример #2
0
        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);
        }