Exemple #1
0
        /// <summary>
        /// 根据id查询记录
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <MaterialInfo> searchById(int id)
        {
            LayerDbContext context = new LayerDbContext();
            var            model   = await context.materialInfos.FindAsync(id);

            return(model);
        }
Exemple #2
0
        /// <summary>
        /// 增加一条
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public async Task <Result <int> > add(OrderDetailInfo t)
        {
            Result <int> result = new Result <int>();

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    var containFlag = context.orderDetailInfo.Where(x => x.orderNo == t.orderNo).Select(x => x.materialId).Contains(t.materialId);
                    if (containFlag)
                    {
                        result.addError("订单中已包含本产品");
                    }
                    else
                    {
                        context.orderDetailInfo.Add(t);
                        var materialModel = await Task.Factory.StartNew(() => context.materialInfos.Where(x => x.id == t.materialId).Single());

                        var orderInfoModel = await context.orderInfo.FindAsync(t.orderNo);

                        orderInfoModel.sumPrice       += t.num * materialModel.referencePriceIn;
                        orderInfoModel.lastUpdatedBy   = t.createdBy;
                        orderInfoModel.lastUpdatedDate = t.createdDate;

                        await context.SaveChangesAsync();
                    }
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }
            return(result);
        }
Exemple #3
0
        /// <summary>
        /// 根据库存量倒序查询
        /// </summary>
        /// <param name="pager"></param>
        /// <returns></returns>
        public async Task <List <InventorySimpleModel> > searchByCountOrder(Pager <List <InventorySimpleModel> > pager)
        {
            int            start           = (pager.page - 1) * pager.recPerPage;
            LayerDbContext context         = new LayerDbContext();
            var            inventoryResult = context.inventory.GroupBy(x => x.materialId).Select(x => new { materialId = x.Key, count = x.Sum(item => item.count) });

            var materialResult = context.materialInfos;

            var returnData = from x in materialResult
                             join y in inventoryResult on x.id equals y.materialId
                             into Temp
                             from temp in Temp.DefaultIfEmpty()
                             select new InventorySimpleModel
            {
                materialId   = x.id,
                alais        = x.alias,
                materialName = x.materialName,
                mat_size     = x.mat_size,
                unit         = x.unit,
                alarmCount   = x.alarmCount,
                count        = temp == null ? 0 : temp.count
            };

            returnData = returnData.OrderBy(x => x.count).Skip(start).Take(pager.recPerPage);
            return(await Task.Factory.StartNew(() => returnData.ToList()));
        }
Exemple #4
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public async Task <Result <int> > update(MaterialInfo t)
        {
            Result <int> result = new Result <int>();

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    MaterialInfo model = await context.materialInfos.FindAsync(t.id);;
                    if (model != null)
                    {
                        model.alias             = t.alias;
                        model.material          = t.material;
                        model.materialName      = t.materialName;
                        model.mat_color         = t.mat_color;
                        model.mat_size          = t.mat_size;
                        model.mat_type          = t.mat_type;
                        model.referencePriceIn  = t.referencePriceIn;
                        model.referencePriceOut = t.referencePriceOut;
                        model.remark            = t.remark;
                        model.weight            = t.weight;
                        model.alarmCount        = t.alarmCount;
                    }
                    await context.SaveChangesAsync();
                }
            }
            catch (DbUpdateConcurrencyException err)
            {
                result.addError(err.Message);
            }
            return(result);
        }
Exemple #5
0
        public async Task <List <MaterialInfo> > searchByIds(int[] ids)
        {
            LayerDbContext context   = new LayerDbContext();
            var            materials = context.materialInfos.Where(x => true);

            return(await Task.Factory.StartNew(() => (from x in materials where (ids.Contains(x.id)) select x).ToList()));
        }
        public async Task <OrderInfo> searchByOrder(string orderNo)
        {
            LayerDbContext context = new LayerDbContext();
            OrderInfo      result  = await context.orderInfo.FindAsync(orderNo);

            return(result);
        }
Exemple #7
0
        /// <summary>
        /// 根据id删除订单一条详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <Result <int> > deleteOrderDetailById(int id, string userName)
        {
            Result <int> result = new Result <int>();

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    var model = await Task.Factory.StartNew(() => context.orderDetailInfo.Where(x => x.id == id).Single());

                    var orderNo = model.orderNo;

                    //减少总成本
                    var orderInfoModel = await context.orderInfo.FindAsync(orderNo);

                    orderInfoModel.sumPrice       += model.num * model.materialInfo.referencePriceIn;
                    orderInfoModel.lastUpdatedBy   = userName;
                    orderInfoModel.lastUpdatedDate = DateTime.Now;
                    //删除记录
                    context.orderDetailInfo.Remove(model);
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }

            return(result);
        }
Exemple #8
0
        /// <summary>
        /// 修改某条订单明细
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public async Task <Result <int> > update(OrderDetailInfo t)
        {
            Result <int> result = new Result <int>();

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    var model = await Task.Factory.StartNew(() => context.orderDetailInfo.Where(x => x.id == t.id).Single());

                    float supplementCount = t.num - model.num;
                    model.factory         = t.factory;
                    model.lastUpdatedDate = t.lastUpdatedDate;
                    model.lastUpdatedBy   = t.lastUpdatedBy;
                    model.num             = t.num;

                    var orderInfoModel = await context.orderInfo.FindAsync(model.orderNo);

                    orderInfoModel.lastUpdatedBy   = model.lastUpdatedBy;
                    orderInfoModel.lastUpdatedDate = model.lastUpdatedDate;
                    orderInfoModel.sumPrice       += model.materialInfo.referencePriceIn * supplementCount;

                    await context.SaveChangesAsync();
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }
            return(result);
        }
        /// <summary>
        /// 出库查询
        /// </summary>
        /// <param name="pager"></param>
        /// <param name="condition"></param>
        /// <returns></returns>
        public List <OutRecordModel> searchByCondition(Pager <List <OutRecordModel> > pager, OutRecordQuery condition)
        {
            int            start   = (pager.page - 1) * pager.recPerPage;
            LayerDbContext context = new LayerDbContext();
            var            result  = from t in context.tradingRecord
                                     join p in context.profitRecord on new { cashOrder = t.cashOrder, materialId = t.materialId } equals new { cashOrder = p.cashOrder, materialId = p.materialId }
            select new OutRecordModel
            {
                cashOrder    = t.cashOrder,
                materialId   = t.materialId,
                alais        = t.materialInfo.alias,
                count        = t.count,
                createdBy    = t.createdBy,
                materialName = t.materialInfo.materialName,
                mat_size     = t.materialInfo.mat_size,
                priceIn      = p.priceIn,
                priceOut     = p.priceOut,
                profit       = p.profit,
                unit         = t.materialInfo.unit,
                createdDate  = t.createdDate
            };

            result = string.IsNullOrEmpty(condition.cashOrder) ? result : result.Where(t => t.cashOrder.Contains(condition.cashOrder));
            result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialName == (condition.materialName));
            result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.mat_size == condition.mat_size);
            result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= condition.createdDateBegin);
            result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= condition.createdDateEnd);
            result = result.OrderByDescending(x => x.createdDate).Skip(start).Take(pager.recPerPage);
            return(result.ToList());
        }
Exemple #10
0
 protected override void Seed(LayerDbContext context)
 {
     if (context.orderStatus.Where(x => x.statusKey == "generated").Count() == 0)
     {
         OrderStatus model = new OrderStatus()
         {
             statusKey = "generated", status = "已下发"
         };
         context.orderStatus.Add(model);
     }
     if (context.orderStatus.Where(x => x.statusKey == "completed").Count() == 0)
     {
         OrderStatus model = new OrderStatus()
         {
             status = "完成", statusKey = "completed"
         };
         context.orderStatus.Add(model);
     }
     if (context.orderStatus.Where(x => x.statusKey == "excepted").Count() == 0)
     {
         OrderStatus model = new OrderStatus()
         {
             status = "收货异常", statusKey = "excepted"
         };
         context.orderStatus.Add(model);
     }
     context.SaveChanges();
 }
        /// <summary>
        /// 热销前十查询(根据频率)
        /// </summary>
        /// <returns></returns>
        public List <MaterialInfo> searchHotTen()
        {
            List <MaterialInfo> result  = new List <MaterialInfo>();
            LayerDbContext      context = new LayerDbContext();
            var hotId = context.tradingRecord.GroupBy(x => x.materialId).Select(x => new { materialId = x.Key, count = x.Count(), sumNum = x.Sum(item => item.count) }).OrderByDescending(x => x.count).ThenByDescending(x => x.sumNum).Take(9).ToList();

            result = (from x in hotId join y in context.materialInfos on x.materialId equals y.id select y).ToList();
            return(result);
        }
Exemple #12
0
        /// <summary>
        /// 通过查询条件查询库存个数
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public float searchInventoryCountByCondition(InventoryQuery t)
        {
            LayerDbContext context = new LayerDbContext();
            var            result  = context.inventory.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialInfo.materialName == (t.materialName));
            result = !t.materialId.HasValue ? result : result.Where(x => x.materialId == t.materialId);
            result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == t.mat_size);
            result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.materialInfo.alias == (t.alias));
            result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.materialInfo.remark.Contains(t.remark));
            return(result.Select(x => x.count).Sum());
        }
Exemple #13
0
        /// <summary>
        /// 总数
        /// </summary>
        /// <returns></returns>
        public int searchCountByCondition()
        {
            LayerDbContext context = new LayerDbContext();

            //var result = context.inventory.Where(x => x.id > 0);
            //result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialInfo.materialName.Contains(t.materialName));
            //result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == t.mat_size);
            //result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.materialInfo.alias.Contains(t.alias));
            //result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.materialInfo.remark.Contains(t.remark));
            //result.GroupBy(x => x.materialId).Select(x => new { materialId = x.Key });
            return(context.materialInfos.Count());
        }
        public int searchCountByCondition(OutRecordQuery condition)
        {
            LayerDbContext context = new LayerDbContext();
            var            result  = context.tradingRecord.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(condition.cashOrder) ? result : result.Where(t => t.cashOrder.Contains(condition.cashOrder));
            result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialInfo.materialName == (condition.materialName));
            result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == condition.mat_size);
            result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= condition.createdDateBegin);
            result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= condition.createdDateEnd);
            return(result.Count());
        }
        public int searchCountByCondition(OrderInfoQuery t)
        {
            LayerDbContext context = new LayerDbContext();
            var            result  = context.orderInfo.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(t.orderNo) ? result : result.Where(x => x.orderNo.Contains(t.orderNo));
            result = string.IsNullOrEmpty(t.status) ? result : result.Where(x => x.status == t.status);
            result = !t.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= t.createdDateBegin);
            result = !t.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= t.createdDateEnd);
            result = !t.receivedDateBegin.HasValue ? result : result.Where(x => x.receivedDate >= t.receivedDateBegin);
            result = !t.receivedDateEnd.HasValue ? result : result.Where(x => x.receivedDate <= t.receivedDateEnd);
            return(result.Count());
        }
        public OrderTool getHalfYearOrderNum()
        {
            DateTime        startTime = DateTime.Now.AddMonths(-5).AddDays(1 - DateTime.Now.Day).Date;
            List <DateTime> MonthDate = new List <DateTime>();

            MonthDate = BaseDataHelper.getSixMnthDate(DateTime.Now);
            LayerDbContext context = new LayerDbContext();
            //异常订单数
            var exceptOrderTemp = context.orderInfo.Where(x => x.status == "excepted" && x.receivedDate > startTime).GroupBy(x => x.createdDate.Month).Select(x => new { createdDate = x.Max(item => item.createdDate), count = x.Count() }).ToList();
            //所有订单
            var orderTemp = context.orderInfo.Where(x => x.createdDate > startTime).GroupBy(x => x.createdDate.Month).Select(x => new { createdDate = x.Max(item => item.createdDate), count = x.Count() }).ToList();
            //完成订单
            var completedOrderTemp = context.orderInfo.Where(x => x.status == "completed" && x.receivedDate > startTime).GroupBy(x => x.createdDate.Month).Select(x => new { createdDate = x.Max(item => item.createdDate), count = x.Count() }).ToList();

            List <LineDataTool> orderData          = new List <LineDataTool>();
            List <LineDataTool> exceptedOrderData  = new List <LineDataTool>();
            List <LineDataTool> completedOrderData = new List <LineDataTool>();
            LineDataTool        model = null;

            foreach (var item in orderTemp)
            {
                model         = new LineDataTool();
                model.intData = item.count;
                model.date    = item.createdDate.AddDays(1 - item.createdDate.Day).Date;
                orderData.Add(model);
            }
            foreach (var item in exceptOrderTemp)
            {
                model         = new LineDataTool();
                model.intData = item.count;
                model.date    = item.createdDate.AddDays(1 - item.createdDate.Day).Date;
                exceptedOrderData.Add(model);
            }
            foreach (var item in completedOrderTemp)
            {
                model         = new LineDataTool();
                model.intData = item.count;
                model.date    = item.createdDate.AddDays(1 - item.createdDate.Day).Date;
                completedOrderData.Add(model);
            }

            var       normalData     = (from x in MonthDate.OrderBy(x => x) join y in orderData on x equals y.date into Temp from t in Temp.DefaultIfEmpty() select t == null ? 0 : t.intData).ToArray();
            var       exceptData     = (from x in MonthDate.OrderBy(x => x) join y in exceptedOrderData on x equals y.date into Temp from t in Temp.DefaultIfEmpty() select t == null ? 0 : t.intData).ToArray();
            var       copmpletedData = (from x in MonthDate.OrderBy(x => x) join y in completedOrderData on x equals y.date into Temp from t in Temp.DefaultIfEmpty() select t == null ? 0 : t.intData).ToArray();
            OrderTool result         = new OrderTool();

            result.exceptedOrderNum  = exceptData;
            result.produceOrderNum   = normalData;
            result.completedOrderNum = copmpletedData;
            return(result);
        }
        /// <summary>
        /// 出库汇总查询
        /// </summary>
        /// <param name="pager"></param>
        /// <param name="t"></param>
        /// <returns></returns>
        public List <OutRecordModel> searchSumByCondition(Pager <List <OutRecordModel> > pager, OutRecordQuery condition)
        {
            int            start   = (pager.page - 1) * pager.recPerPage;
            LayerDbContext context = new LayerDbContext();
            var            result  = from t in context.tradingRecord
                                     join p in context.profitRecord on new { cashOrder = t.cashOrder, materialId = t.materialId } equals new { cashOrder = p.cashOrder, materialId = p.materialId }
            select new OutRecordModel
            {
                cashOrder    = t.cashOrder,
                materialId   = t.materialId,
                alais        = t.materialInfo.alias,
                count        = t.count,
                createdBy    = t.createdBy,
                materialName = t.materialInfo.materialName,
                mat_size     = t.materialInfo.mat_size,
                priceIn      = p.priceIn,
                priceOut     = p.priceOut,
                profit       = p.profit,
                unit         = t.materialInfo.unit,
                createdDate  = t.createdDate
            };

            result = string.IsNullOrEmpty(condition.cashOrder) ? result : result.Where(t => t.cashOrder.Contains(condition.cashOrder));
            result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialName == (condition.materialName));
            result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.mat_size == condition.mat_size);
            result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= condition.createdDateBegin);
            result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= condition.createdDateEnd);

            var result1 = result.GroupBy(x => x.materialId).Select(x => new
            {
                materialId   = x.Key,
                materialName = x.Max(item => item.materialName),
                mat_size     = x.Max(item => item.mat_size),
                count        = x.Sum(item => item.count),
                profit       = x.Sum(item => item.profit)
            }).OrderBy(x => x.count).Skip(start).Take(pager.recPerPage).ToList();
            List <OutRecordModel> returnResult = new List <OutRecordModel>();
            OutRecordModel        model        = null;

            foreach (var item in result1)
            {
                model              = new OutRecordModel();
                model.materialId   = item.materialId;
                model.materialName = item.materialName;
                model.mat_size     = item.mat_size;
                model.count        = item.count;
                model.profit       = item.profit;
                returnResult.Add(model);
            }
            return(returnResult);
        }
Exemple #18
0
        public List <MaterialInfo> searchListByCondition(MaterialInfoQuery t)
        {
            LayerDbContext context = new LayerDbContext();
            var            result  = context.materialInfos.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(t.material) ? result : result.Where(x => x.material == (t.material));
            result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialName == (t.materialName));
            result = string.IsNullOrEmpty(t.mat_color) ? result : result.Where(x => x.mat_color == t.mat_color);
            result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.mat_size == t.mat_size);
            result = string.IsNullOrEmpty(t.mat_type) ? result : result.Where(x => x.mat_type == t.mat_type);
            result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.alias == (t.alias));
            result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.remark.Contains(t.remark));
            return(result.ToList());
        }
Exemple #19
0
        /// <summary>
        /// 查询所有入库记录条数 根据条件
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public int searchCountByCondition(InStorageRecordQuery condition)
        {
            LayerDbContext context = new LayerDbContext();
            var            result  = context.inStorageRecord.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(condition.alias) ? result : result.Where(x => x.materialInfo.alias == (condition.alias));
            result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate > condition.createdDateBegin);
            result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate < condition.createdDateEnd);
            result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialInfo.materialName == (condition.materialName));
            result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == condition.mat_size);
            result = string.IsNullOrEmpty(condition.orderNo) ? result : result.Where(x => x.orderNo.Contains(condition.orderNo));
            result = string.IsNullOrEmpty(condition.receivedOrder) ? result : result.Where(x => x.receivedOrder == condition.receivedOrder);
            return(result.Count());
        }
Exemple #20
0
        /// <summary>
        /// 收货订单
        /// </summary>
        /// <param name="list"></param>
        /// <param name="userName"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        /// <remarks>
        /// 1. 增加库存,2. 增加入库记录 3. 修改订单状态
        /// </remarks>
        public async Task <Result <int> > receiveOrder(List <InStorageRecord> list, string userName, OrderStatusEnum status)
        {
            Result <int> result  = new Result <int>();
            string       orderNo = list.First().orderNo;

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    var model = context.orderInfo.Where(x => x.orderNo == orderNo).Single();
                    if (model.status == status.ToString())
                    {
                        result.addError("进货单已被" + model.receivedBy + "收货");
                    }
                    else
                    {
                        //订单状态
                        model.status       = status.ToString();
                        model.receivedDate = DateTime.Now;
                        model.receivedBy   = userName;
                        model.sumPriceReal = list.Sum(x => x.countReal * x.priceIn);
                        //入库记录
                        context.inStorageRecord.AddRange(list);
                        //库存
                        List <Inventory> inventoryList = new List <Inventory>();
                        Inventory        model1        = null;
                        foreach (var item in list)
                        {
                            model1 = new Inventory()
                            {
                                count      = item.countReal,
                                materialId = item.materialId,
                                priceIn    = item.priceIn
                            };
                            inventoryList.Add(model1);
                        }
                        context.inventory.AddRange(inventoryList);

                        await context.SaveChangesAsync();
                    }
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }

            return(result);
        }
Exemple #21
0
        /// <summary>
        /// 根据id查询订单一条详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <OrderDetailInfo> searchById(int id)
        {
            OrderDetailInfo result  = new OrderDetailInfo();
            LayerDbContext  context = new LayerDbContext();

            try
            {
                result = await Task.Factory.StartNew(() => context.orderDetailInfo.Where(x => x.id == id).Single());
            }
            catch (Exception)
            {
                result = null;
            }
            return(result);
        }
        public List <OrderInfo> searchByCondition(Pager <List <OrderInfo> > pager, OrderInfoQuery t)
        {
            LayerDbContext context = new LayerDbContext();
            int            start   = (pager.page - 1) * pager.recPerPage;
            var            result  = context.orderInfo.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(t.orderNo) ? result : result.Where(x => x.orderNo.Contains(t.orderNo));
            result = string.IsNullOrEmpty(t.status) ? result : result.Where(x => x.status == t.status);
            result = !t.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= t.createdDateBegin);
            result = !t.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate <= t.createdDateEnd);
            result = !t.receivedDateBegin.HasValue ? result : result.Where(x => x.receivedDate >= t.receivedDateBegin);
            result = !t.receivedDateEnd.HasValue ? result : result.Where(x => x.receivedDate <= t.receivedDateEnd);
            result = result.OrderByDescending(x => x.orderNo);
            result = result.Skip(start).Take(pager.recPerPage);
            return(result.ToList());
        }
Exemple #23
0
        /// <summary>
        /// 查询所有入库记录  根据条件 pager
        /// </summary>
        /// <param name="pager"></param>
        /// <param name="condition"></param>
        /// <returns></returns>
        public List <InStorageRecord> searchByCondition(Pager <List <InStorageRecord> > pager, InStorageRecordQuery condition)
        {
            int            start   = (pager.page - 1) * pager.recPerPage;
            LayerDbContext context = new LayerDbContext();
            var            result  = context.inStorageRecord.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(condition.alias) ? result : result.Where(x => x.materialInfo.alias == (condition.alias));
            result = !condition.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate > condition.createdDateBegin);
            result = !condition.createdDateEnd.HasValue ? result : result.Where(x => x.createdDate < condition.createdDateEnd);
            result = string.IsNullOrEmpty(condition.materialName) ? result : result.Where(x => x.materialInfo.materialName == (condition.materialName));
            result = string.IsNullOrEmpty(condition.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == condition.mat_size);
            result = string.IsNullOrEmpty(condition.orderNo) ? result : result.Where(x => x.orderNo.Contains(condition.orderNo));
            result = string.IsNullOrEmpty(condition.receivedOrder) ? result : result.Where(x => x.receivedOrder == condition.receivedOrder);
            result = result.OrderByDescending(x => x.createdDate);
            return(result.Skip(start).Take(pager.recPerPage).ToList());
        }
Exemple #24
0
        /// <summary>
        /// 查询数量
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public int searchCountByCondition(OrderDetailInfoQuery t)
        {
            LayerDbContext context = new LayerDbContext();
            var            result  = context.orderDetailInfo.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(t.orderNo) ? result : result.Where(x => x.orderNo.Contains(t.orderNo));
            result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialName == (t.materialName));
            result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.materialInfo.mat_size == t.mat_size);
            result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.materialInfo.alias == (t.alias));
            result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.materialInfo.remark.Contains(t.remark));
            result = string.IsNullOrEmpty(t.status) ? result : result.Where(x => x.orderInfo.status == t.status);
            result = !t.createdDateBegin.HasValue ? result : result.Where(x => x.createdDate >= t.createdDateBegin);
            result = !t.createdDateEnd.HasValue ? result : result.Where(X => X.createdDate <= t.createdDateEnd);
            result = !t.receivedDateBegin.HasValue ? result : result.Where(x => x.orderInfo.receivedDate >= t.receivedDateBegin);
            result = !t.receivedDateEnd.HasValue ? result : result.Where(x => x.orderInfo.receivedDate <= t.receivedDateEnd);
            return(result.Count());
        }
Exemple #25
0
        /// <summary>
        /// 根据条件查询
        /// </summary>
        /// <param name="pager"></param>
        /// <param name="t"></param>
        /// <returns></returns>
        public List <MaterialInfo> searchByCondition(Pager <List <MaterialInfo> > pager, MaterialInfoQuery t)
        {
            LayerDbContext context = new LayerDbContext();
            int            start   = (pager.page - 1) * pager.recPerPage;
            var            result  = context.materialInfos.Where(x => x.id > 0);

            result = string.IsNullOrEmpty(t.material) ? result : result.Where(x => x.material == (t.material));
            result = string.IsNullOrEmpty(t.materialName) ? result : result.Where(x => x.materialName == (t.materialName));
            result = string.IsNullOrEmpty(t.mat_color) ? result : result.Where(x => x.mat_color == t.mat_color);
            result = string.IsNullOrEmpty(t.mat_size) ? result : result.Where(x => x.mat_size == t.mat_size);
            result = string.IsNullOrEmpty(t.mat_type) ? result : result.Where(x => x.mat_type == t.mat_type);
            result = string.IsNullOrEmpty(t.alias) ? result : result.Where(x => x.alias == (t.alias));
            result = string.IsNullOrEmpty(t.remark) ? result : result.Where(x => x.remark.Contains(t.remark));
            result = result.OrderBy(x => x.material);
            result = result.Skip(start).Take(pager.recPerPage);
            return(result.ToList());
        }
Exemple #26
0
        /// <summary>
        /// 增加
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public async Task <Result <int> > add(MaterialInfo t)
        {
            Result <int> result = new Result <int>();

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    var aaa = context.materialInfos.Add(t);
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }
            return(result);
        }
Exemple #27
0
        /// <summary>
        /// 增加单个物料库存
        /// </summary>
        /// <param name="t"></param>
        /// <returns></returns>
        public async Task <Result <int> > add(Inventory t)
        {
            Result <int> result = new Result <int>();

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    context.inventory.Add(t);
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }
            return(result);
        }
        public List <PieDataTool> searchYesterdayNum()
        {
            List <PieDataTool> result  = new List <PieDataTool>();
            PieDataTool        model   = null;
            LayerDbContext     context = new LayerDbContext();
            var startDate = DateTime.Now.AddDays(-1).Date;
            var endDate   = DateTime.Now.Date;
            var data      = context.tradingRecord.Where(x => x.createdDate > startDate && x.createdDate < endDate).GroupBy(x => x.materialId).Select(x => new { materialName = x.Max(item => item.materialInfo.materialName), value = x.Sum(item => item.count) }).ToList();

            foreach (var item in data)
            {
                model       = new PieDataTool();
                model.label = item.materialName;
                model.value = item.value;
                result.Add(model);
            }
            return(result);
        }
Exemple #29
0
        /// <summary>
        /// 通过id删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <Result <int> > deleteById(int id)
        {
            Result <int> result = new Result <int>();

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    var model = context.materialInfos.Where(x => x.id == id).Single();
                    context.materialInfos.Remove(model);
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }
            return(result);
        }
        /// <summary>
        /// 创建订单
        /// </summary>
        /// <param name="order"></param>
        /// <param name="orderList"></param>
        /// <returns></returns>
        public async Task <Result <List <OrderDetailInfo> > > addOrder(OrderInfo order, List <OrderDetailInfo> orderList)
        {
            Result <List <OrderDetailInfo> > result = new Result <List <OrderDetailInfo> >();

            try
            {
                using (LayerDbContext context = new LayerDbContext())
                {
                    context.orderInfo.Add(order);
                    context.orderDetailInfo.AddRange(orderList);
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception err)
            {
                result.addError(err.Message);
            }
            result.data = orderList;
            return(result);
        }