private void BindGrid()
        {
            string message             = string.Empty;
            SalesCodeSearchInput input = new SalesCodeSearchInput();

            input.Code = this.txtCode.Text;
            if (this.dtFrom.Checked)
            {
                input.FromDate = this.dtFrom.Value;
            }
            if (this.dtTo.Checked)
            {
                input.ToDate = this.dtTo.Value;
            }
            input.isImport = this.checkBox1.Checked ? 1 : 0;

            OutInventory[] list = new OutInventory[0];
            if (this.Status == OutInventoryStatus.Outing)
            {
                list = PharmacyDatabaseService.GetSubmitedOutInventoryByCondition(out pager, out message, input, this.pagerControl.PageIndex, this.pagerControl.PageSize);
            }
            else if (this.Status == OutInventoryStatus.Outed)
            {
                list = PharmacyDatabaseService.GetAcceptedOutInventoryByCondition(out pager, out message, input, this.pagerControl.PageIndex, this.pagerControl.PageSize);
            }
            dgvOutInventory.DataSource = list;
            FormatRows();
        }
 private SalesCodeSearchInput InitSalesOrderSearchInput()
 {
     SalesCodeSearchInput scsi = new SalesCodeSearchInput();
     scsi.FromDate = dtFrom.Value.Date;
     scsi.ToDate = dtTo.Value.AddDays(1).Date;
     scsi.Code = this.txtCode.Text.Trim();
     scsi.salerName = this.cmbOperator.SelectedIndex <= 0 ? string.Empty : ((User)this.cmbOperator.SelectedItem).Employee.Name;
     return scsi;
 }
        private SalesCodeSearchInput InitSalesOrderSearchInput()
        {
            SalesCodeSearchInput scsi = new SalesCodeSearchInput();

            scsi.FromDate  = dtFrom.Value.Date;
            scsi.ToDate    = dtTo.Value.AddDays(1).Date;
            scsi.Code      = this.txtCode.Text.Trim();
            scsi.salerName = this.label2.Text.Trim();
            return(scsi);
        }
Example #4
0
        private SalesCodeSearchInput InitSalesOrderSearchInput()
        {
            SalesCodeSearchInput scsi = new SalesCodeSearchInput();

            scsi.FromDate   = dtFrom.Value.Date;
            scsi.ToDate     = dtTo.Value.AddDays(1).Date;
            scsi.Code       = this.txtCode.Text.Trim();
            scsi.OperatorID = (Guid)cmbOperator.SelectedValue;

            return(scsi);
        }
Example #5
0
        /// <summary>
        /// 根据检索条件获取出库审核记录
        /// </summary>
        /// <returns></returns>
        public List <OutInventory> GetAcceptedOutInventoryByCondition(SalesCodeSearchInput condition, int pageindex, int pageSize, out PagerInfo pager)
        {
            try
            {
                //int iStatus = (int)OutInventoryStatus.Outed;

                PagerInfo pageInfo = new PagerInfo();
                pageInfo.Index = pageindex;
                pageInfo.Size  = pageSize;

                pageindex = pageindex - 1;
                int skipCount = pageindex * pageSize;
                var result    = this.Queryable;//.Where(p => p.OutInventoryStatusValue == iStatus);

                if (!string.IsNullOrWhiteSpace(condition.Code))
                {
                    result = result.Where(p => p.OrderCode.Contains(condition.Code));
                }
                if (condition.FromDate != null)
                {
                    result = result.Where(p => (DateTime)p.OrderOutInventoryTime >= condition.FromDate);
                }
                if (condition.ToDate != null)
                {
                    result = result.Where(p => (DateTime)p.OrderOutInventoryTime <= condition.ToDate);
                }

                if (condition.isImport == 1)
                {
                    result = from i in result
                             join h in RepositoryProvider.Db.OutInventoryDetails on i.Id equals h.SalesOutInventoryID
                             join j in RepositoryProvider.Db.SalesOrderDetails on h.SalesOrderDetailId equals j.Id
                             join k in RepositoryProvider.Db.DrugInventoryRecords on j.DrugInventoryRecordID equals k.Id
                             join l in RepositoryProvider.Db.DrugInfos on k.DrugInfoId equals l.Id
                             where l.IsMainMaintenance == true
                             select i;
                }

                pageInfo.RecordCount = result.Count();
                pager  = pageInfo;
                result = result.OrderByDescending(o => o.CreateTime);
                result = (skipCount == 0 ? result.Take(pageSize) : result.Skip(skipCount).Take(pageSize));
                return(result.ToList());
            }
            catch (Exception ex)
            {
                pager = new PagerInfo {
                    RecordCount = 0
                };
                return(this.HandleException <List <OutInventory> >("根据检索条件获取出库审核记录失败", ex));
            }
        }
        /// <summary>
        ///  根据销退单分页检索
        /// </summary>
        /// <param name="totalpage"></param>
        /// <param name="searchInput"></param>
        /// <param name="pager"></param>
        /// <returns></returns>
        public IEnumerable <SalesOrderReturn> GetReturnOrderCodePaged(SalesCodeSearchInput searchInput, out PagerInfo pager, int pageindex, int pageSize)
        {
            try
            {
                PagerInfo pageInfo = new PagerInfo();
                pageInfo.Index = pageindex;
                pageInfo.Size  = pageSize;

                pageindex = pageindex - 1;
                int skipCount      = pageindex * pageSize;
                var varOrderReturn = base.Queryable;

                if (!string.IsNullOrWhiteSpace(searchInput.Code))
                {
                    varOrderReturn = varOrderReturn.Where(p => p.OrderReturnCode.IndexOf(searchInput.Code) >= 0);
                }
                else
                {
                    varOrderReturn = varOrderReturn.Where(p => p.OrderReturnCode.Length > 0);
                }
                if (searchInput.FromDate != null)
                {
                    varOrderReturn = varOrderReturn.Where(p => p.OrderReturnTime >= searchInput.FromDate);
                }
                if (searchInput.ToDate != null)
                {
                    varOrderReturn = varOrderReturn.Where(p => p.OrderReturnTime <= searchInput.ToDate);
                }
                if (searchInput.OperatorID != Guid.Empty)
                {
                    varOrderReturn = varOrderReturn.Where(p => p.CreateUserId == searchInput.OperatorID);
                }


                pageInfo.RecordCount = varOrderReturn.Count();
                pager          = pageInfo;
                varOrderReturn = varOrderReturn.OrderBy(o => o.CreateTime);
                varOrderReturn = (skipCount == 0 ? varOrderReturn.Take(pageSize) : varOrderReturn.Skip(skipCount).Take(pageSize));

                BusinessHandlerFactory.UserLogBusinessHandler.LogUserLog(new UserLog {
                    Content = ConnectedInfoProvider.User.Account + "成功读取销退单:"
                });

                return(varOrderReturn.AsQueryable().ToList());
            }
            catch (Exception ex)
            {
                pager = null;
                return(this.HandleException <IEnumerable <SalesOrderReturn> >("根据销退单分页检索失败", ex));
            }
        }
        /// <summary>
        /// 获取搜索结果list
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        private void GetListSalesOrder()
        {
            try
            {
                Business.Models.SalesCodeSearchInput scsi = new SalesCodeSearchInput();
                scsi.FromDate          = this.dtFrom.Value.Date;
                scsi.ToDate            = this.dtTo.Value.AddDays(1).Date;
                scsi.salerName         = this.label2.Text.Trim();
                scsi.Code              = txtOrders.Text.Trim();
                scsi.purchaseKeyword   = this.textBox2.Text.Trim();
                scsi.OrderStatusValue  = Convert.ToInt16(this.cmbOrderType.SelectedValue);
                scsi.IsPreciselySearch = this.checkBox1.Checked;

                so = PharmacyDatabaseService.GetSalesOrderCodePaged(scsi, out msg).ToList();
                this.dgvMain.DataSource = new BindingCollection <Business.Models.SaleOrderModel>(so);
                decimal salePrice = (decimal)so.Sum(r => r.TotalPrice);
                d1           = salePrice;
                label4.Text  = "当前查询总计金额:" + salePrice.ToString("F4") + "元;";
                label4.Text += "销售单数量:" + so.Count.ToString("F4");

                SalesOrderReturn[] sors = this.PharmacyDatabaseService.GetSalesOrderReturnByCreateTime((DateTime)scsi.FromDate, (DateTime)scsi.ToDate, out msg).ToArray();

                if (sors.Length > 0)
                {
                    decimal returnPrice = sors.Sum(r => r.SalesOrderReturnDetails.Where(u => u.Deleted == false).Sum(u => u.ActualUnitPrice * u.ReturnAmount));
                    d2           = returnPrice;
                    label4.Text += ";退单数量:" + sors.Length.ToString("F0");
                    label4.Text += ";退单金额:" + returnPrice.ToString("F4");

                    label4.Text       += ";当日结算金额:" + (salePrice - returnPrice).ToString("F4");
                    linkLabel1.Visible = true;
                    linkLabel1.Tag     = sors;
                    linkLabel1.Left    = label4.Left + label4.Width + 10;
                    linkLabel1.Click  += new EventHandler(linkLabel1_Click);
                    this.PharmacyDatabaseService.WriteLog(AppClientContext.CurrentUser.Id, "成功提交查询统计操作");
                }
                else
                {
                    label4.Text       += ";退单数量:" + (0).ToString("F0");
                    label4.Text       += ";退单金额:" + (0).ToString("F4");
                    linkLabel1.Visible = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("数据检索失败!!!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log.Error(ex);
            }
        }
Example #8
0
 private void GetListSalesOrderReturn()
 {
     try
     {
         _salesOrderReturnList = null;
         string msg = string.Empty;
         SalesCodeSearchInput scsi = InitSalesOrderSearchInput();
         var c = this.PharmacyDatabaseService.GetReturnOrderCheckCodePaged(scsi, out msg);
         this.dataGridView1.DataSource = new BindingCollection <Business.Models.SalesOrderReturnModel>(c.ToList());
     }
     catch (Exception ex)
     {
         Log.Error(ex);
     }
 }
Example #9
0
        /// <summary>
        /// 根据条件检索配送记录
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public List <Delivery> GetSubmitedDeliveryByCondition(SalesCodeSearchInput condition, int pageindex, int pageSize, out PagerInfo pager)
        {
            try
            {
                PagerInfo pageInfo = new PagerInfo();
                pageInfo.Index = pageindex;
                pageInfo.Size  = pageSize;

                pageindex = pageindex - 1;
                int skipCount = pageindex * pageSize;
                var result    = this.Queryable;

                if (!string.IsNullOrWhiteSpace(condition.Code))
                {
                    result = result.Where(p => p.AcceptedNo.IndexOf(condition.Code) >= 0);
                }
                if (condition.FromDate != null)
                {
                    result = result.Where(p => p.AcceptedTime >= condition.FromDate);
                }
                if (condition.ToDate != null)
                {
                    result = result.Where(p => p.AcceptedTime <= condition.ToDate);
                }
                if (condition.OperatorID != Guid.Empty)
                {
                    result = result.Where(p => p.AcceptedOperatorId == condition.OperatorID);
                }

                pageInfo.RecordCount = result.Count();
                pager  = pageInfo;
                result = result.OrderBy(o => o.CreateTime);
                result = (skipCount == 0 ? result.Take(pageSize) : result.Skip(skipCount).Take(pageSize));
                //BusinessHandlerFactory.UserLogBusinessHandler.LogUserLog(new UserLog { Content = ConnectedInfoProvider.User.Account + "成功获取配送信息" });
                return(SetCompanyNameToEntity(result.ToList()));
            }
            catch (Exception ex)
            {
                pager = new PagerInfo {
                    RecordCount = 0
                };
                return(this.HandleException <List <Delivery> >("根据检索条件获取配送情报失败", ex));
            }
            finally
            {
                this.Dispose();
            }
        }
Example #10
0
        private void GetListSalesOrderReturn()
        {
            try
            {
                string msg = string.Empty;
                SalesCodeSearchInput scsi = InitSalesOrderSearchInput();
                this._SalesOrderReturnModelList = this.PharmacyDatabaseService.GetReturnOrderCheckCodePaged(scsi, out msg).ToList();

                this._SalesOrderReturnModelList = this._SalesOrderReturnModelList.ToList();
                this.GroupByROrderNumber();
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
        }
        /// <summary>
        ///  根据销入库单单分页检索
        /// </summary>
        /// <param name="totalpage"></param>
        /// <param name="searchInput"></param>
        /// <param name="pager"></param>
        /// <returns></returns>
        public IEnumerable <SalesOrderReturn> GetReturnOrderInventoryCodePaged(SalesCodeSearchInput searchInput, out PagerInfo pager, int pageindex, int pageSize)
        {
            try
            {
                PagerInfo pageInfo = new PagerInfo();
                pageInfo.Index = pageindex;
                pageInfo.Size  = pageSize;

                pageindex = pageindex - 1;
                int skipCount           = pageindex * pageSize;
                var varOrderReturnCheck = base.Queryable;

                if (!string.IsNullOrWhiteSpace(searchInput.Code))
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnInInventoryCode.IndexOf(searchInput.Code) >= 0);
                }
                else
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnInInventoryCode.Length > 0);
                }
                if (searchInput.FromDate != null)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnInInventoryTime >= searchInput.FromDate);
                }
                if (searchInput.ToDate != null)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnInInventoryTime <= searchInput.ToDate);
                }
                if (searchInput.OperatorID != Guid.Empty)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnInInventoryUserID == searchInput.OperatorID);
                }



                pageInfo.RecordCount = varOrderReturnCheck.Count();
                pager = pageInfo;
                varOrderReturnCheck = varOrderReturnCheck.OrderBy(o => o.CreateTime);
                varOrderReturnCheck = (skipCount == 0 ? varOrderReturnCheck.Take(pageSize) : varOrderReturnCheck.Skip(skipCount).Take(pageSize));
                return(varOrderReturnCheck.AsQueryable().ToList());
            }
            catch (Exception ex)
            {
                pager = null;
                return(this.HandleException <IEnumerable <SalesOrderReturn> >("根据销入库单单分页检索失败", ex));
            }
        }
 private void GetSalesOrderList()
 {
     try
     {
         _salesOrderList = null;
         string msg = string.Empty;
         SalesCodeSearchInput scsi = InitSalesOrderSearchInput();
         _salesOrderList = PharmacyDatabaseService.GetSalesOrderCodePaged(scsi, out msg).ToList();
         this.dataGridView1.DataSource = new BindingCollection <Business.Models.SaleOrderModel>(_salesOrderList);
         this.HideColums();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
         Log.Error(ex);
     }
 }
        private void GetSalesOrderList()
        {
            try
            {
                _salesOrderList = null;
                string msg = string.Empty;
                SalesCodeSearchInput scsi = InitSalesOrderSearchInput();
                var c = PharmacyDatabaseService.GetSalesOrderCodePaged(scsi, out msg);

                _salesOrderList = c.OrderByDescending(o => o.BalanceTime).ToList();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
                Log.Error(ex);
            }
        }
Example #14
0
        /// <summary>
        /// 根据检索条件获取出库记录
        /// </summary>
        /// <returns></returns>
        public List <OutInventory> GetSubmitedOutInventoryByCondition(SalesCodeSearchInput condition, int pageindex, int pageSize, out PagerInfo pager)
        {
            try
            {
                //int iStatus = (int)OutInventoryStatus.Outing;

                PagerInfo pageInfo = new PagerInfo();
                pageInfo.Index = pageindex;
                pageInfo.Size  = pageSize;

                pageindex = pageindex - 1;
                int skipCount = pageindex * pageSize;
                var result    = this.Queryable;//.Where(p => p.OutInventoryStatusValue == iStatus);

                if (!string.IsNullOrWhiteSpace(condition.Code))
                {
                    result = result.Where(p => p.OutInventoryNumber.IndexOf(condition.Code) >= 0);
                }
                if (condition.FromDate != null)
                {
                    result = result.Where(p => p.OrderOutInventoryTime >= condition.FromDate);
                }
                if (condition.ToDate != null)
                {
                    result = result.Where(p => p.OrderOutInventoryTime <= condition.ToDate);
                }
                if (condition.OperatorID != Guid.Empty)
                {
                    result = result.Where(p => p.OrderOutInventoryUserID == condition.OperatorID);
                }

                pageInfo.RecordCount = result.Count();
                pager  = pageInfo;
                result = result.OrderBy(o => o.CreateTime);
                result = (skipCount == 0 ? result.Take(pageSize) : result.Skip(skipCount).Take(pageSize));
                return(result.ToList());
            }
            catch (Exception ex)
            {
                pager = new PagerInfo {
                    RecordCount = 0
                };
                return(this.HandleException <List <OutInventory> >("根据检索条件获取出库情报失败", ex));
            }
        }
Example #15
0
        private void BindGrid()
        {
            string message             = string.Empty;
            SalesCodeSearchInput input = new SalesCodeSearchInput();

            input.Code = this.txtCode.Text;
            if (this.dtFrom.Checked)
            {
                input.FromDate = this.dtFrom.Value;
            }
            if (this.dtTo.Checked)
            {
                input.ToDate = this.dtTo.Value;
            }
            if (this.cmbOperator.SelectedValue != null)
            {
                input.OperatorID = Guid.Parse(this.cmbOperator.SelectedValue.ToString());
            }

            Delivery[] list = new Delivery[0];
            if (this.Status == DeliveryStatus.Accepted)
            {
                list = PharmacyDatabaseService.GetSubmitedDeliveryByCondition(out pager, out message, input, this.pagerControl.PageIndex, this.pagerControl.PageSize);
            }
            else if (this.Status == DeliveryStatus.Canceled)
            {
                list = PharmacyDatabaseService.GetCanceledDeliveryByCondition(out pager, out message, input, this.pagerControl.PageIndex, this.pagerControl.PageSize);
            }
            else if (this.Status == DeliveryStatus.Outed)
            {
                list = PharmacyDatabaseService.GetOutedDeliveryByCondition(out pager, out message, input, this.pagerControl.PageIndex, this.pagerControl.PageSize);
            }
            else if (this.Status == DeliveryStatus.Signed)
            {
                list = PharmacyDatabaseService.GetSignedDeliveryByCondition(out pager, out message, input, this.pagerControl.PageIndex, this.pagerControl.PageSize);
            }
            else if (this.Status == DeliveryStatus.Return)
            {
                list = PharmacyDatabaseService.GetReturnedDeliveryByCondition(out pager, out message, input, this.pagerControl.PageIndex, this.pagerControl.PageSize);
            }

            dgvDelivery.DataSource = list;

            FormatRows();
        }
        /// <summary>
        ///  根据销退取消单分页检索
        /// </summary>
        /// <param name="totalpage"></param>
        /// <param name="searchInput"></param>
        /// <param name="pager"></param>
        /// <returns></returns>
        public IEnumerable <Business.Models.SalesOrderReturnModel> GetReturnOrderCancelCodePaged(SalesCodeSearchInput searchInput)
        {
            try
            {
                var varOrderReturnCheck = this.Queryable.Where(r => r.OrderReturnStatusValue == (int)OrderReturnStatus.Canceled);
                if (searchInput.FromDate != null)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnCancelTime >= searchInput.FromDate);
                }
                if (searchInput.ToDate != null)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnCancelTime <= searchInput.ToDate);
                }
                if (searchInput.OperatorID != Guid.Empty)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnCancelUserID == searchInput.OperatorID);
                }

                var u = from i in RepositoryProvider.Db.Users
                        join j in RepositoryProvider.Db.Employees on i.EmployeeId equals j.Id
                        select i;

                var c = from i in varOrderReturnCheck
                        join j in RepositoryProvider.Db.SalesOrders on i.SalesOrderID equals j.Id
                        join p in RepositoryProvider.Db.PurchaseUnits on j.PurchaseUnitId equals p.Id
                        join k in u on i.SellerID equals k.Id
                        join l in u on i.CreateUserId equals l.Id
                        join n in u on i.OrderReturnCancelUserID equals n.Id
                        join m in RepositoryProvider.Db.SalesOrderReturnDetails on i.Id equals m.OrderReturnID
                        where m.ReturnAmount > 0
                        select new Business.Models.SalesOrderReturnModel
                {
                    Creater                             = l.Employee.Name,
                    CreateTime                          = i.CreateTime,
                    DrugNum                             = m.ReturnAmount,
                    Id                                  = i.Id,
                    PurchaseUnitName                    = p.Name,
                    PurchaseUnitPinYin                  = p.PinyinCode,
                    SaleOrderDocumentNumber             = j.OrderCode,
                    SaleOrderReturnDocumentNumber       = i.OrderReturnCode,
                    Saler                               = k.Employee.Name,
                    TotalPrice                          = m.ReturnAmount * m.ActualUnitPrice,
                    SaleOrderReturnCancelDocumentNumber = i.OrderReturnCancelCode,
                    SaleOrderReturnCanceler             = n.Employee.Name,
                    SaleOrderReturnCancelTime           = i.OrderReturnCancelTime,
                    SaleOrderReturnCancelReason         = i.OrderReturnCancelReason
                };


                var result = c.Where(r => r.PurchaseUnitPinYin.ToUpper().Contains(searchInput.Code.ToUpper()) || r.PurchaseUnitName.Contains(searchInput.Code) || r.SaleOrderDocumentNumber.Contains(searchInput.Code)).OrderBy(o => o.CreateTime);

                return(result);
            }
            catch (Exception ex)
            {
                return(this.HandleException <IEnumerable <Business.Models.SalesOrderReturnModel> >("根据销退验收单单分页检索失败", ex));
            }
        }
        /// <summary>
        ///  根据销退验收单单分页检索
        /// </summary>
        /// <param name="totalpage"></param>
        /// <param name="searchInput"></param>
        /// <param name="pager"></param>
        /// <returns></returns>
        public IEnumerable <Business.Models.SalesOrderReturnModel> GetReturnOrderCheckCodePaged(SalesCodeSearchInput searchInput)
        {
            try
            {
                var varOrderReturnCheck = this.Queryable;
                if (searchInput.FromDate != null)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnCheckTime >= searchInput.FromDate);
                }
                if (searchInput.ToDate != null)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnCheckTime <= searchInput.ToDate);
                }
                if (searchInput.OperatorID != Guid.Empty)
                {
                    varOrderReturnCheck = varOrderReturnCheck.Where(p => p.OrderReturnCheckUserID == searchInput.OperatorID);
                }

                var u = from i in RepositoryProvider.Db.Users
                        join j in RepositoryProvider.Db.Employees on i.EmployeeId equals j.Id
                        select i;

                var c = from i in varOrderReturnCheck
                        join j in RepositoryProvider.Db.SalesOrders on i.SalesOrderID equals j.Id
                        join p in RepositoryProvider.Db.PurchaseUnits on j.PurchaseUnitId equals p.Id
                        join k in u on i.SellerID equals k.Id
                        join l in u on i.CreateUserId equals l.Id
                        join n in u on i.OrderReturnCheckUserID equals n.Id
                        join o in u on i.OrderReturnInInventoryUserID equals o.Id
                        select new Business.Models.SalesOrderReturnModel
                {
                    Creater                            = l.Employee.Name,
                    CreateTime                         = i.CreateTime,
                    DrugNum                            = i.SalesOrderReturnDetails.Sum(r => r.ReturnAmount),
                    Id                                 = i.Id,
                    PurchaseUnitName                   = p.Name,
                    PurchaseUnitPinYin                 = p.PinyinCode,
                    SaleOrderDocumentNumber            = j.OrderCode,
                    SaleOrderReturnDocumentNumber      = i.OrderReturnCode,
                    Saler                              = k.Employee.Name,
                    TotalPrice                         = i.SalesOrderReturnDetails.Sum(r => r.ReturnAmount * r.ActualUnitPrice),
                    SaleOrderReturnCheckDocumentNumber = i.OrderReturnCheckCode,
                    SaleOrderReturnCheckTime           = i.OrderReturnCheckTime,
                    SaleOrderReturnChecker             = n.Employee.Name,
                    SaleOrderReturnINvDocumentNumber   = i.OrderReturnInInventoryCode,
                    SaleOrderReturnInver               = o.Employee.Name,
                    SaleOrderReturnInvTime             = i.OrderReturnInInventoryTime,
                    SalesOrderId                       = i.SalesOrderID,
                };
                c = c.Where(o => o.DrugNum > 0).Where(r => r.PurchaseUnitPinYin.ToUpper().Contains(searchInput.Code.ToUpper()) || r.PurchaseUnitName.Contains(searchInput.Code) || r.SaleOrderDocumentNumber.Contains(searchInput.Code)).OrderBy(o => o.CreateTime);

                return(c);
            }
            catch (Exception ex)
            {
                return(this.HandleException <IEnumerable <Business.Models.SalesOrderReturnModel> >("根据销退验收单单分页检索失败", ex));
            }
        }