Пример #1
0
        /// <summary>
        /// 获取下一个编号
        /// </summary>
        /// <param name="prefix">前缀</param>
        /// <param name="dateStr">日期限定符,不需要传空字符串</param>
        /// <param name="digitByte">数字位数</param>
        /// <returns></returns>
        public virtual string GetNextNo(string prefix, string dateStr, int digitByte = 3)
        {
            string result    = prefix;
            var    maxRecord = db.SystemNo.Where(sn => sn.bill_type == prefix && sn.date_string == dateStr);

            if (maxRecord.Count() == 0)
            {
                SystemNo sysNo = new SystemNo()
                {
                    bill_type   = prefix,
                    date_string = dateStr,
                    max_num     = 1
                };
                db.SystemNo.InsertOnSubmit(sysNo);
                result += dateStr + string.Format("{0:D" + digitByte + "}", 1);
            }
            else
            {
                var firstRecord = maxRecord.First();
                firstRecord.max_num = firstRecord.max_num + 1;
                result += dateStr + string.Format("{0:D" + digitByte + "}", firstRecord.max_num);
            }
            db.SubmitChanges();
            return(result);
        }
Пример #2
0
        private string GetNextSysNo()
        {
            string billType  = "EQ";
            string result    = billType;
            string dateStr   = DateTime.Now.ToString("yyMMdd");
            var    maxRecord = db.SystemNo.Where(sn => sn.bill_type == billType && sn.date_string == dateStr).FirstOrDefault();

            if (maxRecord == null)
            {
                SystemNo sysNo = new SystemNo()
                {
                    bill_type   = billType,
                    date_string = dateStr,
                    max_num     = 1
                };
                db.SystemNo.InsertOnSubmit(sysNo);
                result += dateStr + "01";
            }
            else
            {
                maxRecord.max_num = maxRecord.max_num + 1;
                result           += dateStr + string.Format("{0:00}", maxRecord.max_num);
            }
            db.SubmitChanges();
            return(result);
        }
Пример #3
0
        // --------------------------  虚方法  -------------------------- //

        /// <summary>
        /// 取得下一个流水号
        /// </summary>
        /// <param name="billType"></param>
        /// <returns></returns>
        public virtual string GetNextSysNo(string billType)
        {
            string result    = billType;
            string dateStr   = DateTime.Now.ToString("yyMMdd");
            var    maxRecord = db.SystemNo.Where(sn => sn.bill_type == billType && sn.date_string == dateStr);

            if (maxRecord.Count() == 0)
            {
                SystemNo sysNo = new SystemNo()
                {
                    bill_type   = billType,
                    date_string = dateStr,
                    max_num     = 1
                };
                db.SystemNo.InsertOnSubmit(sysNo);
                result += dateStr + "001";
            }
            else
            {
                var firstRecord = maxRecord.First();
                firstRecord.max_num = firstRecord.max_num + 1;
                result += dateStr + string.Format("{0:000}", firstRecord.max_num);
            }
            db.SubmitChanges();
            return(result + "E");
        }