自动获取当前编号的下一个编号

 public class NOHelper
    {
        /// <summary>
        /// 自动取下一个连续号码
        /// <returns></returns>
        /// </summary>
        /// <param name="Acc_No">传入当前号码</param>
        /// <returns>下一个连续号码</returns>
        public static string GetNextNO(string Acc_No)
        {
            string _return = Acc_No.TrimEnd();
            if (_return == "")
                return _return;
            int _FLen = _return.Length + 1;
            _return = Move_No(" " + _return, _FLen);
            if (_return != "" && _return.Substring(0, 1) == " ")
                _return = _return.Substring(1, _return.Length - 1).TrimEnd();
            return _return;
        }
        private static string Move_No(string Acc_No, int Flen)
        {
            string _return = Acc_No;
            int M = 0;
            for (int i = 0; i <= Flen - 1; i++)
            {
                string _laststr = _return.Substring(Flen - 1 - i, 1);
                char[] _lastchar = _laststr.ToCharArray();
                M = (int)_lastchar[0];
                if (M == 32 | M == 57 | (M >= 48 && M < 57) | (M >= 65 && M < 90) | (M >= 97 && M < 122))
                {
                    int N = M;
                    if (M == 32)
                        M = 49;
                    else if (M == 57)
                    {
                        if (Flen + 1 - i == 1)
                            M = 49;
                        else M = 48;
                    }
                    else M = M + 1;
                    string _s = ((char)M).ToString();
                    string _Pstr = "";
                    string _Nstr = "";
                    if (i > 0 && i < Flen - 1)
                    {
                        _Pstr = _return.Substring(0, Flen - 1 - i);
                        _Nstr = _return.Substring(Flen - 1 - i + 1, i);
                        _return = _Pstr + _s + _Nstr;
                    }
                    else if (i < Flen - 1)
                    {
                        _Pstr = _return.Substring(0, Flen - 1 - i);
                        _return = _Pstr + _s;
                    }
                    else _return = _s;
                    if (N == 57)
                    {
                        if (i == Flen - 2)
                        {
                            _return = " 0" + _return.Substring(1, _return.Length - 1);
                            Flen++;
                        }
                    }
                    //Move_No(_return, Flen - i);
                    else break;
                }
            }
            return _return;
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值