コード例 #1
0
        protected override DQueryDom GetQueryDom()
        {
            var query = base.GetQueryDom();

            OrganizationUtil.AddOrganizationLimit <Department>(query, "Department_ID");
            foreach (ListItem field in checkbox.Items)
            {
                if (field.Selected)
                {
                    if (field.Text == "金额")
                    {
                        query.Columns.Add(DQSelectColumn.Create(DQExpression.Multiply(DQExpression.Field("Number"), DQExpression.Field("Price")), field.Text));
                    }
                    else
                    {
                        query.Columns.Add(DQSelectColumn.Field(field.Value));
                    }
                }
            }

            if (sd.Value.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual("Date", sd.Value.Value));
            }
            if (ed.Value.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.LessThanOrEqual("Date", ed.Value.Value));
            }
            query.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));
            if (query.Columns.Count == 0)
            {
                throw new Exception("至少选择一条显示列");
            }
            return(query);
        }
コード例 #2
0
        public DQueryDom CreatePartialQuery(AvailableStorageContext context)
        {
            var detail = new JoinAlias(typeof(ProductInStore_Detail));
            var bill   = new JoinAlias(typeof(ProductInStore));
            var query  = new DQueryDom(detail);

            query.From.AddJoin(JoinType.Inner, new DQDmoSource(bill), DQCondition.EQ(bill, "ID", detail, "ProductInStore_ID"));
            query.Where.Conditions.Add(DQCondition.EQ(bill, "BillState", 单据状态.未审核));
            if (context.Goods_ID.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.EQ("Goods_ID", context.Goods_ID));
            }
            if (context.Store_ID.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.EQ(bill, "Store_ID", context.Store_ID));
            }
            if (context.AccountingUnit_ID.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.EQ(bill, "AccountingUnit_ID", context.AccountingUnit_ID));
            }
            if (context.Date.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.LessThan(bill, "Time", context.Date.Value.Date.AddDays(1)));
            }

            query.Where.Conditions.Add(DQCondition.EQ(bill, "Domain_ID", DomainContext.Current.ID));

            query.Columns.Add(DQSelectColumn.Create(DQExpression.ConstValue("成品入库单"), "Source"));
            query.Columns.Add(DQSelectColumn.Field("Store_ID", bill));
            query.Columns.Add(DQSelectColumn.Field("Goods_ID"));
            query.Columns.Add(DQSelectColumn.Create(DQExpression.Multiply(DQExpression.Field("Number"), DQExpression.ConstValue(-1)), "Number"));
            query.Columns.Add(DQSelectColumn.Create(DQExpression.Multiply(DQExpression.Field("SecondNumber"), DQExpression.ConstValue(-1)), "SecondNumber"));
            query.Columns.Add(DQSelectColumn.Field("GoodsBatch_ID"));
            return(query);
        }