自动获取当前编号的下一个编号
2017-08-15 09:54
190 查看
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;
}
{
/// <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;
}
相关文章推荐
- 获取数据库自动编号的下一个值
- 根据当前日期获取下一个编号的SQL语句
- Mysql 如何设置字段自动获取当前时间
- Python获取当前公网ip并自动断开宽带连接实例代码
- C语言中自动获取当前时间和日期
- SQL Server 获取插入记录后的ID(自动编号)
- activiti根据当前节点获取下一个节点信息
- js jquery获取当前元素的兄弟级 上一个 下一个元素
- iOS开发问题:系统提示框是否同意获取当前位置提示框自动消失问题
- mysql——设置字段自动获取当前时间
- .NET获取ACCESS自动编号列的一种方法
- activiti根据当前节点获取下一个UseTask节点
- .net Access 新增记录后获取自动编号的值
- navicat如何让datetime类型自动获取当前时间
- .NET获取ACCESS自动编号列的一种方法(转)
- Mysql 如何设置字段自动获取当前时间
- 自动获取当前页面URL的ASP函数
- Mysql 如何设置字段自动获取当前时间
- 在ASP中怎样获取Identily的值(怎么获取新添加记录的自动编号)
- 自动获取当前页面地址(url)的脚本