Esempio n. 1
0
        //设置查询条件
        private DeliveryIndexInput InitDeliveryIndexInput()
        {
            DeliveryIndexInput dii = new DeliveryIndexInput();

            dii.OrderNumber = this.txtSalesOrder.Text.Trim();

            dii.DeliveryFromDate = dtFrom.Value.Date;
            dii.DeliveryToDate   = dtTo.Value.AddDays(1).Date;

            if (this.cmbDeliveryMethod.SelectedValue != null)
            {
                dii.DeliveryMethodValue = cmbDeliveryMethod.SelectedIndex - 1;
            }
            else
            {
                dii.DeliveryMethodValue = -1;
            }

            if (this.cmbDeliveryStatus.SelectedValue != null)
            {
                dii.DeliveryStatusValue = Convert.ToInt16(cmbDeliveryStatus.SelectedValue);
            }
            else
            {
                dii.DeliveryStatusValue = -1;
            }

            dii.ReceivingCompasnyName = this.textBox1.Text.Trim();
            dii.ReceivingCompasnyID   = this.ReceivingCmpID;
            return(dii);
        }
Esempio n. 2
0
        private void GetListDelivery(int pageIndex, int pageSize)
        {
            try
            {
                _DeliveryList = null;
                DeliveryIndexInput qsom = InitDeliveryIndexInput();
                string             msg  = string.Empty;
                var c      = PharmacyDatabaseService.GetDeliveryPaged(out pageInfo, out msg, qsom, pageIndex, pageSize);
                var result = from ds in ListStatus
                             join i in c on ds.num equals i.DeliveryStatusValue
                             join u in ListUser on i.AcceptedOperatorId equals u.Id into Left1
                             from u in Left1.DefaultIfEmpty()
                             join u1 in ListUser on i.outedOperatorId equals u1.Id into Left2
                             from u1 in Left2.DefaultIfEmpty()
                             join u2 in ListUser on i.SignedOperatorId equals u2.Id into Left3
                             from u2 in Left3.DefaultIfEmpty()
                             select new Business.Models.DeliveryModel
                {
                    AcceptedOperator = u == null ? "未受理" : u.Employee.Name,
                    AcceptedTime     = u == null ? i.CreateTime : i.AcceptedTime,
                    DeliveryAddress  = i.DeliveryAddress,
                    DeliveryMethod   = u == null ? "未受理" : (i.DeliveryMethodValue == 0 ? "客户自理" : i.DeliveryMethodValue == 1 ? "自有车辆运输" : "委托运输"),
                    DeliveryStatus   = ds.nam,
                    DrugsCount       = i.DrugsCount,
                    ID                    = i.Id,
                    outedOperator         = u1 == null ? "未出库" : u1.Employee.Name,
                    outedTime             = u1 == null ? i.CreateTime : i.outedTime,
                    Principal             = u == null ? string.Empty : i.Principal,
                    PrincipalPhone        = u == null ? string.Empty : i.PrincipalPhone,
                    ReceivingCompasnyID   = i.ReceivingCompasnyID,
                    ReceivingCompasnyName = i.ReceivingCompasnyName,
                    SalesOrderID          = i.OrderID,
                    SalesOrderNumber      = i.SalesOrder,
                    ShippingAddress       = i.ShippingAddress,
                    SignedOperator        = u2 == null ? "未签收" : u2.Employee.Name,
                    SignedTime            = u2 == null ? i.CreateTime : i.SignedTime,
                    TransportCompany      = u == null ? string.Empty : i.TransportCompany,
                    TransportMethod       = u == null ? "未受理" : (i.TransportMethodValue == 0 ? "客户自理" : i.TransportMethodValue == 1 ? "自有车辆运输" : "委托运输"),
                    VehicleInfo           = u == null ? string.Empty : i.VehicleInfo,
                    Memo                  = i.Memo
                };
                this.dgvMain.DataSource = result.ToList();
                pcMain.RecordCount      = pageInfo.RecordCount;

                this.HideColumns();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK);
                Log.Error(ex);
            }
        }
Esempio n. 3
0
        //查询条件
        private DeliveryIndexInput InitDeliveryIndexInput()
        {
            DeliveryIndexInput dii = new DeliveryIndexInput();

            dii.DeliveryMethodValue   = -1;
            dii.DeliveryStatusValue   = (int)deliveryStatus;
            dii.TransportMethodValue  = -1;
            dii.DeliveryFromDate      = DateTime.Now.AddYears(-1);
            dii.DeliveryToDate        = DateTime.Now.AddYears(1);
            dii.OrderNumber           = this.toolStripTextBox2.Text.Trim();
            dii.ReceivingCompasnyName = this.toolStripTextBox1.Text.Trim();
            return(dii);
        }
Esempio n. 4
0
        /// <summary>
        ///翻页的时候处理检索
        /// </summary>
        private void pager_DataPaging()
        {
            PagerInfo pagerInfo = new PagerInfo();

            pagerInfo.Index = this.pager.PageIndex;
            pagerInfo.Size  = this.pager.PageSize;
            string message = string.Empty;

            try
            {
                DeliveryIndexInput qsom = InitDeliveryIndexInput();
                this.DeliveryList           = PharmacyDatabaseService.GetDeliveryTransactionPaged(qsom, out pagerInfo, pager.PageIndex, pager.PageSize).ToList();
                this.dgvDelivery.DataSource = this.DeliveryList;
                pager.RecordCount           = pagerInfo.RecordCount;
            }
            catch (Exception e)
            {
                MessageBox.Show("数据检索失败!");
            }
        }
Esempio n. 5
0
        /// <summary>
        ///  分页检索配送
        /// </summary>
        /// <param name="totalpage"></param>
        /// <param name="deliveryIndexInput"></param>
        /// <param name="pager"></param>
        /// <returns></returns>
        public IEnumerable <Delivery> GetDeliveryPaged(DeliveryIndexInput deliveryIndexInput, 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 varDelivery = base.Queryable;

                if (deliveryIndexInput.DeliveryFromDate != null)
                {
                    varDelivery = varDelivery.Where(p => p.DeliveryTime >= deliveryIndexInput.DeliveryFromDate);
                }
                if (deliveryIndexInput.DeliveryToDate != null)
                {
                    varDelivery = varDelivery.Where(p => p.DeliveryTime <= deliveryIndexInput.DeliveryToDate);
                }
                if (deliveryIndexInput.DeliveryMethodValue > -1)
                {
                    varDelivery = varDelivery.Where(p => p.DeliveryMethodValue == deliveryIndexInput.DeliveryMethodValue);
                }
                if (deliveryIndexInput.DeliveryStatusValue > -1)
                {
                    varDelivery = varDelivery.Where(p => p.DeliveryStatusValue == deliveryIndexInput.DeliveryStatusValue);
                }
                if (deliveryIndexInput.ReceivingCompasnyID != Guid.Empty)
                {
                    varDelivery = varDelivery.Where(p => p.ReceivingCompasnyID == deliveryIndexInput.ReceivingCompasnyID);
                }

                #region
                var saleOrders = RepositoryProvider.Db.SalesOrders.AsQueryable();
                if (!string.IsNullOrEmpty(deliveryIndexInput.OrderNumber))
                {
                    saleOrders = saleOrders.Where(r => r.OrderCode.Contains(deliveryIndexInput.OrderNumber));
                }

                var PurchaseUnits = RepositoryProvider.Db.PurchaseUnits.AsQueryable();
                if (!string.IsNullOrEmpty(deliveryIndexInput.ReceivingCompasnyName))
                {
                    PurchaseUnits = PurchaseUnits.Where(r => r.Name.Contains(deliveryIndexInput.ReceivingCompasnyName) || (r.PinyinCode != null && r.PinyinCode.ToUpper().Contains(deliveryIndexInput.ReceivingCompasnyName.ToUpper())));
                }

                var SalesInfo = (from i in varDelivery
                                 join p in PurchaseUnits on i.ReceivingCompasnyID equals p.Id
                                 join so in saleOrders on i.OrderID equals so.Id
                                 select new
                {
                    pid = p.Id,
                    pName = p.Name,
                    soid = so.Id,
                    soCode = so.OrderCode,
                    addr = string.IsNullOrEmpty(p.ReceiveAddress)?p.DetailedAddress:p.ReceiveAddress
                }).ToList();

                var PurchaseorderReturns = RepositoryProvider.Db.PurchaseOrderReturns.AsQueryable();
                if (!string.IsNullOrEmpty(deliveryIndexInput.OrderNumber))
                {
                    PurchaseorderReturns = PurchaseorderReturns.Where(r => r.DocumentNumber.Contains(deliveryIndexInput.OrderNumber));
                }
                var SupplyUnits = RepositoryProvider.Db.SupplyUnits.AsQueryable();
                if (!string.IsNullOrEmpty(deliveryIndexInput.ReceivingCompasnyName))
                {
                    SupplyUnits = SupplyUnits.Where(r => r.Name.Contains(deliveryIndexInput.ReceivingCompasnyName) || (r.PinyinCode != null && r.PinyinCode.ToUpper().Contains(deliveryIndexInput.ReceivingCompasnyName.ToUpper())));
                }

                var SupplyReturnInfo = (from sr in PurchaseorderReturns
                                        join i in varDelivery on sr.Id equals i.OrderID
                                        join su in SupplyUnits on i.ReceivingCompasnyID equals su.Id
                                        select new
                {
                    pid = su.Id,
                    pName = su.Name,
                    soid = sr.Id,
                    soCode = sr.DocumentNumber,
                    addr = su.ReceiveAddress == string.Empty?su.DetailedAddress:su.ReceiveAddress
                }).ToList();

                SalesInfo = SalesInfo.Concat(SupplyReturnInfo).ToList();

                var ListVarDelivery = varDelivery.ToList();
                foreach (var u in ListVarDelivery)
                {
                    var re = SalesInfo.FirstOrDefault(r => r.pid == u.ReceivingCompasnyID);
                    if (re == null)
                    {
                        continue;
                    }
                    u.ReceivingCompasnyName = re.pName;

                    var sa = SalesInfo.FirstOrDefault(r => r.soid == u.OrderID);
                    if (sa == null)
                    {
                        continue;
                    }
                    u.SalesOrder = sa.soCode;

                    var su = SalesInfo.FirstOrDefault(r => r.pid == u.ReceivingCompasnyID);
                    if (su == null)
                    {
                        continue;
                    }
                    u.DeliveryAddress = su.addr;
                }

                ListVarDelivery = ListVarDelivery.Where(r => !string.IsNullOrEmpty(r.SalesOrder)).ToList();

                varDelivery = null;
                #endregion

                pageInfo.RecordCount = ListVarDelivery.Count;
                pager           = pageInfo;
                ListVarDelivery = ListVarDelivery.OrderBy(o => o.DeliveryTime).ToList();
                ListVarDelivery = (skipCount == 0 ? ListVarDelivery.Take(pageSize) : ListVarDelivery.Skip(skipCount).Take(pageSize)).ToList();

                return(ListVarDelivery.OrderByDescending(r => r.CreateTime).AsEnumerable());
            }
            catch (Exception ex)
            {
                pager = null;
                return(this.HandleException <IEnumerable <Delivery> >("分页检索配送失败", ex));
            }
            finally
            {
                this.Dispose();
            }
        }