Exemplo n.º 1
0
        public static List <ProductInStoreWithDetailDto> GetListOnlyOneDetail(int pageIndex, int pageSize)
        {
            var list     = new List <ProductInStoreWithDetailDto>();
            var dmoQuery = new DmoQuery(typeof(ProductInStore));

            dmoQuery.Range = new SelectRange(pageSize * pageIndex, pageSize);
            dmoQuery.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));
            dmoQuery.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));
            var dmoList = dmoQuery.EExecuteList().Cast <ProductInStore>();

            foreach (ProductInStore inStore in dmoList)
            {
                var dto = new ProductInStoreWithDetailDto();
                dto.ID           = inStore.ID;
                dto.Date         = inStore.InStoreDate;
                dto.BillState    = inStore.BillState.Value;
                dto.BillStateStr = inStore.BillState.Name;
                var detail = inStore.Details.FirstOrDefault();
                if (detail != null)
                {
                    dto.Goods_Name   = detail.Goods_Name;
                    dto.Goods_Spec   = detail.Goods_Spec;
                    dto.Number       = detail.Number;
                    dto.SecondNumber = detail.SecondNumber;
                    list.Add(dto);
                }
            }
            return(list);
        }
Exemplo n.º 2
0
        public static List <ProductPlanInfo> GetProductPlanInfo(long[] id)
        {
            if (id.Length == 0)
            {
                return(new List <ProductPlanInfo>());
            }
            var query = new DQueryDom(new JoinAlias(typeof(ProductPlan)));

            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("PlanNumber"));
            query.Columns.Add(DQSelectColumn.Field("Date"));
            query.Columns.Add(DQSelectColumn.Field("RowVersion"));
            query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("ID"), id.Select(x => DQExpression.Value(x)).ToArray()));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID"));
            var result = query.EExecuteList <long, string, DateTime, int>();
            var rst    = new List <ProductPlanInfo>();

            foreach (var item in result)
            {
                rst.Add(new ProductPlanInfo {
                    ID = item.Item1, PlanNumber = item.Item2, PlanDate = item.Item3, RowVersion = item.Item4
                });
            }
            return(rst);
        }
Exemplo n.º 3
0
        public static List <ProductInStoreSimpleDto> GetSimpleList(int pageIndex, int pageSize)
        {
            var list  = new List <ProductInStoreSimpleDto>();
            var query = new DQueryDom(new JoinAlias(typeof(ProductInStore)));

            query.Where.Conditions.Add(DQCondition.EQ("BillState", 单据状态.未审核));
            query.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));


            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("InStoreDate"));
            query.Columns.Add(DQSelectColumn.Field("Store_Name"));

            query.Range = new SelectRange(pageSize * pageIndex, pageSize);
            using (var session = Dmo.NewSession())
            {
                using (var reader = session.ExecuteReader(query))
                {
                    while (reader.Read())
                    {
                        var dto = new ProductInStoreSimpleDto();
                        dto.ID          = (long)reader[0];
                        dto.InStoreDate = (DateTime)reader[1];
                        dto.Store_Name  = (string)reader[2];
                        list.Add(dto);
                    }
                }
            }
            return(list);
        }
Exemplo n.º 4
0
        static ProductNotice GetPrevOrNext(long currentID, bool prev = true)
        {
            var query = new DmoQuery(typeof(ProductNotice));

            query.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));
            query.Where.Conditions.Add(prev ? DQCondition.LessThan("ID", currentID) : DQCondition.GreaterThan("ID", currentID));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", prev));
            query.Range = SelectRange.Top(1);
            return(query.EExecuteScalar <ProductNotice>());
        }
Exemplo n.º 5
0
        public static IList <EntityRowVersion> GetRowVersion(long?accountingUnit)
        {
            var query = new DQueryDom(new JoinAlias(typeof(ProductInStoreTemplate)));

            query.Where.Conditions.Add(DQCondition.EQ("AccountingUnit_ID", accountingUnit));
            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("RowVersion"));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID"));
            query.Where.Conditions.Add(DQCondition.EQ("Stopped", false));
            return(query.EExecuteList <long, int>().Select(x => new EntityRowVersion(x.Item1, x.Item2)).ToList());
        }
Exemplo n.º 6
0
        public static IList <EntityRowVersion> GetRowVersion(long?accountingUnit)
        {
            var query = new DQueryDom(new JoinAlias(typeof(ProductPlan)));

            query.Where.Conditions.Add(DQCondition.EQ("AccountingUnit_ID", accountingUnit));
            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("RowVersion"));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID"));
            query.Where.Conditions.Add(DQCondition.And(DQCondition.Between("Date", DateTime.Today.AddDays(-3), DateTime.Today.AddDays(1)), DQCondition.EQ("BillState", 单据状态.已审核)));
            return(query.EExecuteList <long, int>().Select(x => new EntityRowVersion(x.Item1, x.Item2)).ToList());
        }
Exemplo n.º 7
0
        public static IList <ProductInStoreTemplate> GetProductInStoreTemplate(long[] id)
        {
            if (id.Length == 0)
            {
                return(new List <ProductInStoreTemplate>());
            }
            var query = new DmoQuery(typeof(ProductInStoreTemplate));

            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID"));
            query.Where.Conditions.Add(DQCondition.InList(DQExpression.Field("ID"), id.Select(x => DQExpression.Value(x)).ToArray()));
            return(query.EExecuteList().Cast <ProductInStoreTemplate>().ToList());
        }
Exemplo n.º 8
0
        public static List <FrozenInStoreObj> GetFrozenInStore(bool?positiveNumber)
        {
            var bill   = new JoinAlias(typeof(FrozenInStore));
            var detail = new JoinAlias(typeof(FrozenInStore_Detail));
            var query  = new DQueryDom(bill);

            query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(bill, "ID", detail, "FrozenInStore_ID"));
            query.Columns.Add(DQSelectColumn.Field("ID", bill));
            query.Columns.Add(DQSelectColumn.Field("Date", bill));
            query.Columns.Add(DQSelectColumn.Field("Goods_ID", detail));
            query.Columns.Add(DQSelectColumn.Field("Goods_Name", detail));
            query.Columns.Add(DQSelectColumn.Field("Number", detail));
            query.Columns.Add(DQSelectColumn.Field("Client", bill));
            query.Where.Conditions.Add(DQCondition.EQ(bill, "Domain_ID", DomainContext.Current.ID));
            query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ(bill, "BillState", 单据状态.已审核), DQCondition.EQ(bill, "BillState", 单据状态.未审核)));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create(bill, "ID", true));
            OrganizationUtil.AddOrganizationLimit(query, typeof(FrozenInStore));
            var list = new List <FrozenInStoreObj>();

            using (var session = Dmo.NewSession())
            {
                using (var reader = session.ExecuteReader(query))
                {
                    while (reader.Read())
                    {
                        if (positiveNumber == true)
                        {
                            if ((Money <decimal>?)reader[4] < 0)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            if ((Money <decimal>?)reader[4] >= 0)
                            {
                                continue;
                            }
                        }
                        list.Add(new FrozenInStoreObj
                        {
                            ID         = (long)reader[0],
                            Date       = (DateTime?)reader[1],
                            Goods_ID   = (long?)reader[2],
                            Goods_Name = (string)reader[3],
                            Number     = (Money <decimal>?)reader[4],
                            Client     = (string)reader[5]
                        });
                    }
                }
            }
            return(list);
        }
Exemplo n.º 9
0
        private DQueryDom GetQueryDom()
        {
            var detail = new JoinAlias("__detail", typeof(ProduceOutput_Detail));
            var main   = new JoinAlias("__main", typeof(ProduceOutput));
            var goods  = new JoinAlias("__goods", typeof(ButcheryGoods));

            var query = new DQueryDom(detail);

            query.From.AddJoin(JoinType.Left, new DQDmoSource(main), DQCondition.EQ(main, "ID", detail, "ProduceOutput_ID"));
            query.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(goods, "ID", detail, "Goods_ID"));
            query.Columns.Add(DQSelectColumn.Field("Goods_Name"));
            query.Columns.Add(DQSelectColumn.Field("PlanNumber_Name", detail));

            query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(detail, "Remark"), "计数规格"));
            query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, "SecondNumber")), "盘数"));

            query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, "SecondNumber2")), "袋数"));

            query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field(detail, "Number")), "重量"));

            query.Columns.Add(DQSelectColumn.Create(DQExpression.Field(goods, "PackageModel"), "包装模式"));

            query.GroupBy.Expressions.Add(DQExpression.Field(detail, "Goods_Name"));
            query.GroupBy.Expressions.Add(DQExpression.Field(detail, "PlanNumber_Name"));
            query.GroupBy.Expressions.Add(DQExpression.Field(detail, "Remark"));
            query.GroupBy.Expressions.Add(DQExpression.Field(goods, "PackageModel"));

            if (Shift_ID != null)
            {
                query.Where.Conditions.Add(DQCondition.EQ(detail, "Goods_ProductShift_ID", Shift_ID));
            }
            if (PackMode != null)
            {
                query.Where.Conditions.Add(DQCondition.EQ(goods, "PackageModel", PackMode));
            }
            if (BeginDate != null)
            {
                query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual(main, "Time", BeginDate));
            }
            if (EndDate != null)
            {
                query.Where.Conditions.Add(DQCondition.LessThanOrEqual(main, "Time", EndDate));
            }
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create(DQExpression.Field(goods, "PackageModel"), false));
            return(query);
        }
Exemplo n.º 10
0
        public static ListData Query(ListData data)
        {
            var queryobj = (ProductInStoreQueryObj)data.QueryObject;
            var query    = new DQueryDom(new JoinAlias(typeof(ProductInStore)));

            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("BillState"));
            query.Columns.Add(DQSelectColumn.Field("AccountingUnit_Name"));
            query.Columns.Add(DQSelectColumn.Field("Department_Name"));
            query.Columns.Add(DQSelectColumn.Field("Employee_Name"));
            query.Columns.Add(DQSelectColumn.Field("Store_Name"));
            query.Columns.Add(DQSelectColumn.Field("InStoreType_Name"));
            query.Columns.Add(DQSelectColumn.Field("InStoreDate"));
            query.Columns.Add(DQSelectColumn.Field("CheckEmployee_Name"));
            query.Columns.Add(DQSelectColumn.Field("CheckDate"));
            query.Columns.Add(DQSelectColumn.Field("ProductInStoreTemplate_Name"));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));
            HippoUtil.AddEQ(query, "ID", queryobj.ID);
            HippoUtil.AddEQ(query, "BillState", queryobj.BillState);
            HippoUtil.AddEQ(query, "AccountingUnit_ID", queryobj.AccountingUnit_ID);
            HippoUtil.AddEQ(query, "Department_ID", queryobj.Department_ID);
            HippoUtil.AddEQ(query, "Employee_ID", queryobj.Employee_ID);
            HippoUtil.AddEQ(query, "Store_ID", queryobj.Store_ID);
            HippoUtil.AddEQ(query, "InStoreType_ID", queryobj.InStoreType_ID);
            HippoUtil.AddEQ(query, "ProductPlan_ID", queryobj.ProductPlan_ID);
            if (queryobj.MinInStoreDate.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual("InStoreDate", queryobj.MinInStoreDate.Value));
            }
            if (queryobj.MaxInStoreDate.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.LessThanOrEqual("InStoreDate", queryobj.MaxInStoreDate.Value));
            }
            query.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));
            query.Range = new SelectRange(data.Start, data.Count);
            OrganizationUtil.AddOrganizationLimit(query, typeof(ProductInStore));
            var pagedData = new DFDataAdapter(new LoadArguments(query)).PagedFill();

            data.Start = 0;
            data.Count = (int)pagedData.TotalCount;
            data.Data  = pagedData.Data;
            return(data);
        }
Exemplo n.º 11
0
        public static List <ProduceOutputObj> GetProduceOutput()
        {
            var bill   = new JoinAlias(typeof(ProduceOutput));
            var detail = new JoinAlias(typeof(ProduceOutput_Detail));
            var query  = new DQueryDom(bill);

            query.From.AddJoin(JoinType.Left, new DQDmoSource(detail), DQCondition.EQ(bill, "ID", detail, "ProduceOutput_ID"));
            query.Columns.Add(DQSelectColumn.Field("ID", bill));
            query.Columns.Add(DQSelectColumn.Field("Time", bill));
            query.Columns.Add(DQSelectColumn.Field("Goods_ID", detail));
            query.Columns.Add(DQSelectColumn.Field("Goods_Name", detail));
            query.Columns.Add(DQSelectColumn.Field("Number", detail));
            query.Where.Conditions.Add(DQCondition.EQ(bill, "Domain_ID", DomainContext.Current.ID));
            query.Where.Conditions.Add(DQCondition.Or(DQCondition.EQ(bill, "BillState", 单据状态.已审核), DQCondition.EQ(bill, "BillState", 单据状态.未审核)));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create(bill, "ID", true));
            OrganizationUtil.AddOrganizationLimit(query, typeof(ProduceOutput));
            var list = new List <ProduceOutputObj>();

            using (var session = Dmo.NewSession())
            {
                using (var reader = session.ExecuteReader(query))
                {
                    while (reader.Read())
                    {
                        list.Add(new ProduceOutputObj
                        {
                            ID         = (long)reader[0],
                            Time       = (DateTime?)reader[1],
                            Goods_ID   = (long?)reader[2],
                            Goods_Name = (string)reader[3],
                            Number     = (Money <decimal>?)reader[4]
                        });
                    }
                }
            }
            return(list);
        }
Exemplo n.º 12
0
        public static List <GoodsInfoDto> GetProductInStoreTemplate(string input)
        {
            var list                = new List <GoodsInfoDto>();
            var productInStore      = new JoinAlias(typeof(ProductInStoreTemplate));
            var productInStoreGoods = new JoinAlias(typeof(ProductInStoreTemplate_GoodsDetail));
            var goods               = new JoinAlias(typeof(Goods));
            var query               = new DQueryDom(productInStoreGoods);

            query.From.AddJoin(JoinType.Left, new DQDmoSource(productInStore), DQCondition.EQ(productInStore, "ID", productInStoreGoods, "ProductInStoreTemplate_ID"));
            query.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(productInStoreGoods, "Goods_ID", goods, "ID"));
            query.Range = SelectRange.Top(200);
            query.Where.Conditions.Add(DQCondition.EQ(productInStore, "Stopped", false));
            if (!string.IsNullOrWhiteSpace(input))
            {
                query.Where.Conditions.Add(DQCondition.Or(DQCondition.Like(goods, "Name", input), DQCondition.Like(goods, "Code", input), DQCondition.Like(goods, "Spell", input)));
            }
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create(goods, "Name"));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create(goods, "Code"));

            query.Columns.Add(DQSelectColumn.Field("ID", goods));
            query.Columns.Add(DQSelectColumn.Field("Name", goods));
            query.Columns.Add(DQSelectColumn.Field("MainUnit", goods));
            query.Columns.Add(DQSelectColumn.Field("SecondUnit", goods));
            query.Columns.Add(DQSelectColumn.Field("UnitConvertDirection", goods));
            query.Columns.Add(DQSelectColumn.Field("MainUnitRatio", goods));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitRatio", goods));
            query.Columns.Add(DQSelectColumn.Field("Code", goods));
            query.Columns.Add(DQSelectColumn.Field("GoodsProperty_ID", goods));
            query.Columns.Add(DQSelectColumn.Field("GoodsProperty_Name", goods));
            query.Columns.Add(DQSelectColumn.Field("GoodsPropertyCatalog_Name", goods));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII", goods));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII_MainUnitRatio", goods));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII_SecondUnitRatio", goods));
            query.Columns.Add(DQSelectColumn.Field("Spec", goods));
            query.Distinct = true;

            using (var session = Dmo.NewSession())
            {
                using (var reader = session.ExecuteReader(query))
                {
                    while (reader.Read())
                    {
                        var dto = new GoodsInfoDto();
                        dto.Goods_ID                   = (long)reader[0];
                        dto.Goods_Name                 = (string)reader[1];
                        dto.Goods_MainUnit             = (string)reader[2];
                        dto.Goods_SecondUnit           = (string)reader[3];
                        dto.Goods_UnitConvertDirection = (NamedValue <主辅转换方向>?)reader[4];

                        dto.Goods_MainUnitRatio   = (Money <decimal>?)reader[5];
                        dto.Goods_SecondUnitRatio = (Money <decimal>?)reader[6];
                        dto.Goods_Code            = (string)reader[7];
                        if (dto.Goods_MainUnitRatio == null)
                        {
                            dto.Goods_MainUnitRatio = 1;
                        }
                        if (dto.Goods_SecondUnitRatio == null)
                        {
                            dto.Goods_SecondUnitRatio = 1;
                        }
                        dto.GoodsProperty_ID          = (long?)reader[8];
                        dto.GoodsProperty_Name        = (string)reader[9];
                        dto.GoodsPropertyCatalog_Name = (string)reader[10];
                        dto.SecondUnitII = (string)reader[11];
                        dto.SecondUnitII_MainUnitRatio   = Convert.ToDecimal(reader[12]);
                        dto.SecondUnitII_SecondUnitRatio = Convert.ToDecimal(reader[13]);
                        dto.Goods_Spec = (string)(reader[14]);

                        list.Add(dto);
                    }
                }
            }
            return(list);
        }
Exemplo n.º 13
0
        public static List <GoodsInfoDto> GetAllSettingedGoods(int pageIndex, int pageSize)
        {
            var list      = new List <GoodsInfoDto>();
            var joinGoods = new JoinAlias(typeof(Goods));
            //      var goodsProperty = new JoinAlias(typeof(GoodsProperty));
            //      var goodsPropertyCatalog = new JoinAlias(typeof(GoodsPropertyCatalog));
            var query = new DQueryDom(joinGoods);

            query.Where.Conditions.Add(DQCondition.EQ("Stopped", false));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("Name"));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("Code"));


            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("Name"));
            query.Columns.Add(DQSelectColumn.Field("MainUnit"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnit"));
            query.Columns.Add(DQSelectColumn.Field("UnitConvertDirection"));
            query.Columns.Add(DQSelectColumn.Field("MainUnitRatio"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitRatio"));
            query.Columns.Add(DQSelectColumn.Field("Code"));
            query.Columns.Add(DQSelectColumn.Field("GoodsProperty_ID"));
            query.Columns.Add(DQSelectColumn.Field("GoodsProperty_Name"));
            query.Columns.Add(DQSelectColumn.Field("GoodsPropertyCatalog_Name"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII_MainUnitRatio"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII_SecondUnitRatio"));
            query.Columns.Add(DQSelectColumn.Field("Spec"));

            query.Where.Conditions.Add(DQCondition.InSubQuery(DQExpression.Field("ID"), GetAllSettingedGoodsSubQuery()));

            query.Range = new SelectRange(pageIndex * pageSize, pageSize);

            using (var session = Dmo.NewSession())
            {
                using (var reader = session.ExecuteReader(query))
                {
                    while (reader.Read())
                    {
                        var dto = new GoodsInfoDto();
                        dto.Goods_ID                   = (long)reader[0];
                        dto.Goods_Name                 = (string)reader[1];
                        dto.Goods_MainUnit             = (string)reader[2];
                        dto.Goods_SecondUnit           = (string)reader[3];
                        dto.Goods_UnitConvertDirection = (NamedValue <主辅转换方向>?)reader[4];
                        dto.Goods_MainUnitRatio        = (Money <decimal>?)reader[5];
                        dto.Goods_SecondUnitRatio      = (Money <decimal>?)reader[6];
                        dto.Goods_Code                 = (string)reader[7];
                        if (dto.Goods_MainUnitRatio == null)
                        {
                            dto.Goods_MainUnitRatio = 1;
                        }
                        if (dto.Goods_SecondUnitRatio == null)
                        {
                            dto.Goods_SecondUnitRatio = 1;
                        }
                        dto.GoodsProperty_ID          = (long?)reader[8];
                        dto.GoodsProperty_Name        = (string)reader[9];
                        dto.GoodsPropertyCatalog_Name = (string)reader[10];
                        dto.SecondUnitII = (string)reader[11];
                        dto.SecondUnitII_MainUnitRatio   = Convert.ToDecimal(reader[12]);
                        dto.SecondUnitII_SecondUnitRatio = Convert.ToDecimal(reader[13]);
                        dto.Goods_Spec = (string)(reader[14]);

                        list.Add(dto);
                    }
                }
            }
            return(list);
        }
Exemplo n.º 14
0
        public static List <GoodsInfoDto> GetAllGoods(string input)
        {
            var list      = new List <GoodsInfoDto>();
            var joinGoods = new JoinAlias(typeof(Goods));
            //      var goodsProperty = new JoinAlias(typeof(GoodsProperty));
            //      var goodsPropertyCatalog = new JoinAlias(typeof(GoodsPropertyCatalog));
            var query = new DQueryDom(joinGoods);

            //query.Range = SelectRange.Top(100);
            query.Where.Conditions.Add(DQCondition.EQ("Stopped", false));
            if (!string.IsNullOrWhiteSpace(input))
            {
                query.Where.Conditions.Add(DQCondition.Or(DQCondition.Like("Name", input), DQCondition.Like("Code", input), DQCondition.Like("Spell", input)));
            }
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("Name"));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("Code"));
            //query.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));

            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("Name"));
            query.Columns.Add(DQSelectColumn.Field("MainUnit"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnit"));
            query.Columns.Add(DQSelectColumn.Field("UnitConvertDirection"));
            query.Columns.Add(DQSelectColumn.Field("MainUnitRatio"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitRatio"));
            query.Columns.Add(DQSelectColumn.Field("Code"));
            query.Columns.Add(DQSelectColumn.Field("GoodsProperty_ID"));
            query.Columns.Add(DQSelectColumn.Field("GoodsProperty_Name"));
            query.Columns.Add(DQSelectColumn.Field("GoodsPropertyCatalog_Name"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII_MainUnitRatio"));
            query.Columns.Add(DQSelectColumn.Field("SecondUnitII_SecondUnitRatio"));
            query.Columns.Add(DQSelectColumn.Field("Spec"));


            using (var session = Dmo.NewSession())
            {
                using (var reader = session.ExecuteReader(query))
                {
                    while (reader.Read())
                    {
                        var dto = new GoodsInfoDto();
                        dto.Goods_ID                   = (long)reader[0];
                        dto.Goods_Name                 = (string)reader[1];
                        dto.Goods_MainUnit             = (string)reader[2];
                        dto.Goods_SecondUnit           = (string)reader[3];
                        dto.Goods_UnitConvertDirection = (NamedValue <主辅转换方向>?)reader[4];
                        dto.Goods_MainUnitRatio        = (Money <decimal>?)reader[5];
                        dto.Goods_SecondUnitRatio      = (Money <decimal>?)reader[6];
                        dto.Goods_Code                 = (string)reader[7];
                        if (dto.Goods_MainUnitRatio == null)
                        {
                            dto.Goods_MainUnitRatio = 1;
                        }
                        if (dto.Goods_SecondUnitRatio == null)
                        {
                            dto.Goods_SecondUnitRatio = 1;
                        }
                        dto.GoodsProperty_ID          = (long?)reader[8];
                        dto.GoodsProperty_Name        = (string)reader[9];
                        dto.GoodsPropertyCatalog_Name = (string)reader[10];
                        dto.SecondUnitII = (string)reader[11];
                        dto.SecondUnitII_MainUnitRatio   = Convert.ToDecimal(reader[12]);
                        dto.SecondUnitII_SecondUnitRatio = Convert.ToDecimal(reader[13]);
                        dto.Goods_Spec = (string)(reader[14]);

                        list.Add(dto);
                    }
                }
            }
            return(list);
        }
Exemplo n.º 15
0
        void AddResultControls(Control vPanel)
        {
            vPanel.Controls.Add(new LiteralControl("选择要导出到Excel的字段"));
            _list = new CheckBoxListWithReverseSelect()
            {
                RepeatColumns = 6
            };
            _list.RepeatDirection = RepeatDirection.Horizontal;
            var fields = new[] { "ID", "Name", "PrintShortName", "Code", "Spec", "GoodsProperty_Name",
                                 "Feature", "Origin", "Brand", "ProductLine_Name", "TaxRate", "MainUnit", "SecondUnit", "MainUnitRatio", "SecondUnitRatio", "UnitConvertDirection", "Barcode", "OuterCode", "SecondUnitII", "SecondUnitII_MainUnitRatio", "SecondUnitII_SecondUnitRatio", "Remark", "属性分类" };

            foreach (string field in fields)
            {
                IDmoFieldInfo dmoFieldInfo;

                if (field == "属性分类")
                {
                    var item = new ListItem();
                    item.Text     = field;
                    item.Value    = "属性分类";
                    item.Selected = true;
                    _list.Items.Add(item);
                    continue;
                }
                if (!_dmoInfo.Fields.TryGetValue(field, out dmoFieldInfo))
                {
                    continue;
                }
                var dfField = mDFInfo.Fields.FirstOrDefault(x => field == x.Name);
                AddCheckBoxField(dfField, _list);
            }
            vPanel.Controls.Add(_list);
            HLayoutPanel hPanel = new HLayoutPanel();

            vPanel.Controls.Add(hPanel);
            var button = new LinkButton();

            button.Text = "导出到Excel";
            hPanel.Add(button);
            var exporter = new Exporter();

            hPanel.Add(exporter);
            button.Click += delegate
            {
                var dom = GetQueryDom();
                dom.OrderBy.Expressions.Clear();
                dom.Columns.Clear();
                var alias = dom.From.RootSource.Alias;
                foreach (ListItem item in _list.Items)
                {
                    if (item.Selected)
                    {
                        if (item.Text == "属性分类")
                        {
                            var goodsPropertyAlias = new JoinAlias("gpy", typeof(GoodsProperty));
                            dom.From.AddJoin(JoinType.Left, new DQDmoSource(goodsPropertyAlias), DQCondition.EQ(dom.From.RootSource.Alias, "GoodsProperty_ID", goodsPropertyAlias, "ID"));

                            dom.Columns.Add(DQSelectColumn.Field("GoodsPropertyCatalog_Name", goodsPropertyAlias, "属性分类"));
                        }
                        else
                        {
                            dom.Columns.Add(DQSelectColumn.Field(item.Value, item.Text));
                        }
                    }
                }
                dom.OrderBy.Expressions.Add(DQOrderByExpression.Create(alias, "ID", true));
                exporter.Export(new DQueryExcelExporter(LogicName + ".xls", new LoadArguments(dom)));
            };
        }
Exemplo n.º 16
0
        internal static void Register()
        {
            ChoiceBoxSettings.Register(B3ButcheryDataSource.生产班组, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <BO.ProductShift>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });
            ChoiceBoxSettings.Register(B3ButcheryDataSource.生产线, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <BO.ProductLine>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });
            ChoiceBoxSettings.Register(B3ButcheryDataSource.车间品类, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <WorkshopCategory>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });
            ChoiceBoxSettings.Register(B3ButcheryDataSource.类别分类, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <CategoryClassification>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });
            ChoiceBoxSettings.Register(B3ButcheryDataSource.存货类别, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <GoodsCategory>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.计数名称, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <CalculateGoods>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.计数分类, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <CalculateCatalog>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });
            ChoiceBoxSettings.Register(B3ButcheryDataSource.速冻库, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <FrozenStore>(argu)
                {
                }.GetData());
            });
            ChoiceBoxSettings.Register(B3ButcheryDataSource.生产线全部, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <BO.ProductLine>(argu)
                {
                    OnlyAvailable = false
                }.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.计划号, argu =>
            {
                var main    = new JoinAlias(typeof(ProductPlan));
                var query   = new DQueryDom(main);
                query.Range = SelectRange.Top(60);
                query.Columns.Add(DQSelectColumn.Field("PlanNumber"));
                query.Columns.Add(DQSelectColumn.Field("ID"));
                query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("BillState", 单据状态.已审核),
                                                           DQCondition.EQ(main, "Domain_ID", DomainContext.Current.ID),
                                                           DQCondition.EQ("PlanNumbers", false)));
                if (!string.IsNullOrEmpty(argu.InputArgument))
                {
                    query.Where.Conditions.Add(DQCondition.Like("PlanNumber", argu.InputArgument));
                }
                if (!string.IsNullOrEmpty(argu.CodeArgument))
                {
                    query.Where.Conditions.Add(DQCondition.EQ("Date", DateTime.Parse(argu.CodeArgument)));
                }
                query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));
                return(query.EExecuteList <string, long>().Select(x => new WordPair(x.Item1, x.Item2.ToString())));
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.货位, (argu) =>
            {
                if (string.IsNullOrEmpty(argu.CodeArgument))
                {
                    return(EnumerableUtil.Null <WordPair>());
                }

                var query = new DQueryDom(new JoinAlias(typeof(CargoSpace)));
                if (!string.IsNullOrEmpty(argu.CodeArgument))
                {
                    var ss = argu.CodeArgument.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                    query.Where.Conditions.EFieldInList("Store_ID", ss);
                }

                query.Columns.Add(DQSelectColumn.Field("Name"));
                query.Columns.Add(DQSelectColumn.Field("ID"));
                query.OrderBy.Expressions.Add(
                    DQOrderByExpression.Create("ID"));
                if (!string.IsNullOrEmpty(argu.InputArgument))
                {
                    query.Where.Conditions.Add(DQCondition.Like("Name", argu.InputArgument));
                }
                return(ChoiceBoxQueryHelper.GetData(query));
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.生产环节, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <ProductLinks>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.生产环节全部, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <ProductLinks>(argu)
                {
                    OnlyAvailable = false
                }.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.屠宰分割入库类型, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <InStoreType>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.屠宰分割入库类型全部, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <InStoreType>(argu)
                {
                    OnlyAvailable = false
                }.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.存货带编号, (argu) =>
            {
                return(SelectGoodsWithSpec(argu, true));
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.存货带编号全部, (argu) =>
            {
                return(SelectGoodsWithSpec(argu, false));
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.存货品牌, (argu) =>
            {
                return(SelectGoodsBrand(argu));
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.成品入库模板, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <ProductInStoreTemplate>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });
            ChoiceBoxSettings.Register(B3ButcheryDataSource.生产环节模板, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <ProductLinkTemplate>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });
            ChoiceBoxSettings.Register(B3ButcheryDataSource.生产环节模板会计单位部门条件, SelectProductLinkTemplate);

            ChoiceBoxSettings.Register(B3ButcheryDataSource.生产通知单ID, (argu) =>
            {
                var queryHelper = new DomainChoiceBoxQueryHelper <ProductNotice>(argu)
                {
                    OnlyAvailable = false
                };
                queryHelper.AddSelectedField("ID");
                queryHelper.SearchFields.Add("ID");
                return(queryHelper.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.销售地区, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <ISaleZone>(argu)
                {
                    OnlyAvailable = true
                }.GetData());
            });

            ChoiceBoxSettings.Register(B3ButcheryDataSource.销售地区全部, (argu) =>
            {
                return(new DomainChoiceBoxQueryHelper <ISaleZone>(argu)
                {
                    OnlyAvailable = false
                }.GetData());
            });
        }