SerialNumber.cs
1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CsbrHcgClient.Common
{
public class SerialNumber
{
/// <summary>
/// 生成充值流水号格式:8位日期加6位顺序号,如20190807000001
/// </summary>
public string GetSerialNumber()
{
string strResult = DateTime.Now.ToString("yyyyMMdd") + "000001";
string sqlstr = @"SELECT ID FROM sys_serialnumber";
DataSet ds = MySQLHelper.GetDataSet(sqlstr, CommandType.Text);
if (ds != null && ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Rows[0][0].ToString() !="0")
{
string serialNumber = ds.Tables[0].Rows[0][0].ToString();
string headDate = serialNumber.Substring(0, 8);
int lastNumber = int.Parse(serialNumber.Substring(8,6));
//如果数据库最大值流水号中日期和生成日期在同一天,则顺序号加1
if (headDate == DateTime.Now.ToString("yyyyMMdd"))
{
lastNumber++;
strResult = headDate + lastNumber.ToString("000000");
}
}
string sqlUpdate = @"update sys_serialnumber set ID ='" + strResult + "'";
int i = MySQLHelper.ExecuteNonQuery(sqlUpdate, CommandType.Text);
if (i > 0)
{
return strResult;
}
else
{
return "0";
}
}
}
}