Beispiel #1
0
        public List <InStorageRecordModel> searchAllByCondition(InStorageRecordQuery condition)
        {
            List <InStorageRecordModel> result = new List <InStorageRecordModel>();

            if (condition != null)
            {
                Task <List <InStorageRecordModel> > task = Task.Factory.StartNew(() => dao.searchAllByCondition(condition));
                result = task.Result;
            }
            return(result);
        }
Beispiel #2
0
        public ActionResult dealReceivedOrder(string orderNo)
        {
            InStorageRecordQuery condition = new InStorageRecordQuery();

            condition.orderNo = orderNo;
            var instorageRecords = inStroageService.searchAllByCondition(condition);

            if (instorageRecords.Where(x => x.countReal != x.countReference).Count() == 0)
            {
                ViewBag.returnUrl = "/OrderInfo/search?orderNo=" + orderNo;
                return(View("Error", new string[] { "订单已被处理" }));
            }
            return(View(instorageRecords));
        }
Beispiel #3
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());
        }
Beispiel #4
0
        /// <summary>
        /// 查询所有入库记录汇总  根据条件
        /// </summary>
        /// <param name="condition"></param>
        /// <returns></returns>
        public List <InStorageRecordModel> searchAllByCondition(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);
            var inStorages = result.GroupBy(x => new { x.materialId, x.orderNo }).Select(x => new
            {
                materialId    = x.Key.materialId,
                orderNo       = x.Key.orderNo,
                countReal     = x.Sum(item => item.countReal),
                priceIn       = x.Max(item => item.priceIn),
                receivedOrder = x.Max(item => item.receivedOrder)
            });
            var orderDetailInfos = context.orderDetailInfo;
            var returnResult     = from x in inStorages
                                   join y in orderDetailInfos on new { x.orderNo, x.materialId } equals new { y.orderNo, y.materialId }
            select new InStorageRecordModel
            {
                materialId     = x.materialId,
                orderNo        = x.orderNo,
                countReal      = x.countReal,
                priceIn        = x.priceIn,
                receivedOrder  = x.receivedOrder,
                countReference = y.num,
                materialName   = y.materialName,
                mat_size       = y.materialInfo.mat_size
            };

            return(returnResult.ToList());
        }
        public async Task <ActionResult> SumSearch(Pager <List <InStorageRecordModel> > pager, InStorageRecordQuery condition)
        {
            pager = await service.searchSumByCondition(pager, condition);

            ViewBag.condition = condition;
            return(View("SumIndex", pager));
        }
 public ActionResult SumIndex(Pager <List <InStorageRecordModel> > pager, InStorageRecordQuery condition)
 {
     ViewBag.condition = condition;
     return(View(pager));
 }
Beispiel #7
0
        public async Task <Pager <List <InStorageRecordModel> > > searchSumByCondition(Pager <List <InStorageRecordModel> > pager, InStorageRecordQuery t)
        {
            pager.data = await Task.Factory.StartNew(() => dao.searchSumByCondition(pager, t));

            pager.recTotal = await Task.Factory.StartNew(() => dao.searchSumCountByCondition(t));

            return(pager);
        }
Beispiel #8
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());
        }