Exemplo n.º 1
0
        /// <summary>
        /// 获取当天最大单号
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public object GetTodayMax(string date, int currency, string sup = null)
        {
            var    prices = service.IQueryable(t => t.purNo.Contains(date)).OrderByDescending(t => t.purNo);
            int    maxNum = 0000;
            int    todayNum = 0, supNum = 0;
            string purNo = "";

            if (prices.Count() > 0)
            {
                foreach (var p in prices)
                {
                    var num = Convert.ToInt32(p.purNo.Remove(0, 6));
                    if (num > todayNum)
                    {
                        todayNum = num;//当天最大单号
                    }
                }
                var purSup = prices.Where(s => s.purSup.Equals(sup));
                if (purSup.Count() > 0)
                {
                    foreach (var p in purSup)
                    {
                        var num = Convert.ToInt32(p.purNo.Remove(0, 6));
                        if (num > supNum)
                        {
                            supNum = num;//同一供应商当天最大单号
                            purNo  = p.purNo;
                        }
                    }
                    var purList = service.IQueryable(s => s.purSup.Equals(sup) && s.purNo.Equals(purNo)).ToList();
                    if (purList.Count < 5)
                    {
                        maxNum = supNum - 1;
                    }
                    else
                    {
                        maxNum = todayNum;
                    }
                    foreach (var pur in purList)
                    {
                        var price = new PriceApp().GetFormJson(pur.priNO);
                        if (price.currency.Value != currency)
                        {
                            maxNum = todayNum;
                        }
                        if (pur.prtTag == "T")//一旦有打印过  采购单号加一
                        {
                            maxNum = todayNum;
                        }
                    }
                }
                else
                {
                    maxNum = todayNum;
                }
            }

            return(maxNum);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取当天最大单号
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public object GetTodayMax(string date, string po, int currency, string sup = null, string dep = null)
        {
            try
            {
                var    prices = service.IQueryable(t => t.billNo.Contains(po) && t.billNo.Contains(date));
                int    maxNum = 0000;
                int    todayNum = 0, supNum = 0;
                string billNo = "";
                if (prices.Count() > 0)
                {
                    foreach (var p in prices)
                    {
                        var num = Convert.ToInt32(p.billNo.Remove(0, 6));
                        if (num > todayNum)
                        {
                            todayNum = num;//当天最大单号
                        }
                    }
                    var purSup = prices.Where(s => s.purSup.Equals(sup));
                    if (purSup.Count() > 0)
                    {
                        foreach (var p in purSup)
                        {
                            var num = Convert.ToInt32(p.billNo.Remove(0, 6));
                            if (num > supNum)
                            {
                                supNum = num;//同一供应商当天最大单号
                                billNo = p.billNo;
                            }
                        }
                        var purList = service.IQueryable(s => s.purSup.Equals(sup) && s.billNo.Equals(billNo)).ToList();
                        if (purList.Count < 5)
                        {
                            maxNum = supNum - 1;
                        }
                        else
                        {
                            maxNum = todayNum;
                        }
                        foreach (var pur in purList)
                        {
                            var apply = new ApplyBillApp().GetForm(pur.fromID);
                            if (pur.billNo.Contains("PP"))
                            {
                                var bill = new BillApp().GetForm(pur.fromID);
                                apply = new ApplyBillApp().GetForm(bill.fromID);
                            }
                            var price = new PriceApp().GetFormJson(apply.priNO);
                            if (price.currency.Value != currency)//币别不同 单号加一
                            {
                                maxNum = todayNum;
                            }
                            if (pur.prtTag == "T")//一旦有打印过  采购单号加一
                            {
                                maxNum = todayNum;
                            }
                            if (!string.IsNullOrEmpty(dep))
                            {
                                if (!apply.appDep.Equals(dep))
                                {
                                    maxNum = todayNum;//领用单部门不同  单号加一
                                }
                            }
                        }
                    }
                    else
                    {
                        maxNum = todayNum;
                    }
                }

                return(maxNum);
            }
            catch (Exception ex)
            {
                throw;
            }
        }