YESWEB web开发框架 增加流水单号生成规则
现在有个 站点门户注册 功能

需要设置ID列为流水单号,自动生成的
一、新增 站点门户编号 规则类
SNProtalID.cs
/// <summary>
/// 站点门户编号规则
/// </summary>
public class SNProtalID : ModelDocNo
{
	public SNProtalID()
	{
		base.DocCode = "SNProtalID";
		base.DocName = "站点门户编号";
		base.DocHeader = "PT";
		base.Separate = "-";
		base.Length = 3;
		base.DocType = GenerateDocSNRule.Up;
	}
}二、修改新增接口
[HttpPost]
public GZAPIResultEntity<sys_ProtalRegister> Create(P_Create param)
{
	if (param == null)
	{
		return GZAPIBadRequestEntity<sys_ProtalRegister>("参数为空!");
	}
	List<string> validateErrMsg = new List<string>();
	if (String.IsNullOrEmpty(param.Description))
		validateErrMsg.Add("门户描述不能为空");
	if (String.IsNullOrEmpty(param.ViewPath))
		validateErrMsg.Add("门户路径不能为空");
	if (validateErrMsg.Count > 0)
	{
		return GZAPIBadRequestEntity<sys_ProtalRegister>(String.Join(",", validateErrMsg));
	}
	// 启动事务
	using (var trans = entitiesSystem.Database.BeginTransaction())
	{
		try
		{
			// 按规则生成流水单号
			string sn = YESWEB.DocNoProvider.DocNoHelper.Intance.getSN<DocNos.SNProtalID>(trans.GetSqlTransaction());
			// 新建数据对象
			sys_ProtalRegister data = new sys_ProtalRegister()
			{
				PortalID = sn,
				Description = param.Description,
				ViewPath = param.ViewPath
			};
			entitiesSystem.sys_ProtalRegister.Add(data);
			entitiesSystem.SaveChanges();
			// 提交事务
			trans.Commit();
			return GZAPISuccessEntity<sys_ProtalRegister>(data);
		}
		catch (Exception ex)
		{
			trans.Rollback();
			return GZAPIExceptionEntity<sys_ProtalRegister>(ex);
		}
	}
}
三、数据效果

四、生成规则修改
如果后期需要对生成规则调整,调整步骤如下
1) 修改生成规则类
2) 基础资料 → 流水单号 功能中重新导入规则

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YESWEB 管理员  
