C#発注番号の作成
1530 ワード
シーン:作成された注文番号には固定の接頭辞があり、中級は年月日、接尾辞は流水の3桁で、「VD 20190802001」のように、ニーズが異なる場合は少し修正して実現することができます.
// ,
private static readonly object SequenceLock = new object();
///
///
///
///
///
///
public static string GetNewOrderNO(string preString,string tableName)
{
lock(SequenceLock)
{
string result = "";
string sql = string.Format(@"Select max(ID) from {0}", tableName);
//
string curid = Pub_DB.OracleDataAccess.ExecuteScalar(ConnfigSetting.GetShipUserConStr(), sql).ToString();
if (string.IsNullOrEmpty(curid))
{
curid = preString + DateTime.Now.ToString("yyyyMMdd") + "000";
}
string maxid = curid.Substring(curid.Length - 3, 3);
string maxdate = curid.Substring(preString.Length, 8);
if (DateTime.Now.ToString("yyyyMMdd") == maxdate)
{
result = preString + maxdate + (Convert.ToInt16(maxid) + 1).ToString("000");
}
else
{
result = preString + DateTime.Now.ToString("yyyyMMdd") + "001";
}
return result;
}
}