fix 当前id判断

This commit is contained in:
2024-07-09 11:53:15 +08:00
parent e6fbdfa730
commit e35b51084b

View File

@@ -22,7 +22,7 @@ public class GainfoOutsourceService : IGainfoOutsourceService
public async Task SaveAsync(GainfoOutsourceRequest request)
{
await CheckDuplicate(request.IdNo, request.Code);
await CheckDuplicate(request);
var sapCodeExists = await _dbContext.Queryable<GainfoEntity>()
.Where(x => x.Code == request.ExternalInfo.SapCode)
.AnyAsync();
@@ -117,17 +117,20 @@ public class GainfoOutsourceService : IGainfoOutsourceService
/// <summary>
/// 检查证件号重复
/// </summary>
/// <param name="idNo"></param>
/// <param name="code"></param>
private async Task CheckDuplicate(string idNo, string code)
/// <param name="request"></param>
private async Task CheckDuplicate(GainfoOutsourceRequest request)
{
var exists = await _dbContext.Queryable<GainfoEntity>().Where(x => x.IdNo == idNo).AnyAsync();
exists.ThrowIfTrue($"证件号{idNo}重复");
var exists = await _dbContext.Queryable<GainfoEntity>()
.WhereIF(request.Id.HasValue, x => x.Id != request.Id)
.Where(x => x.IdNo == request.IdNo).AnyAsync();
exists.ThrowIfTrue($"证件号{request.IdNo}重复");
if (code.IsPresent())
if (request.Code.IsPresent())
{
exists = await _dbContext.Queryable<GainfoEntity>().Where(x => x.Code == code).AnyAsync();
exists.ThrowIfTrue($"工号{code}重复");
exists = await _dbContext.Queryable<GainfoEntity>()
.WhereIF(request.Id.HasValue, x => x.Id != request.Id)
.Where(x => x.Code == request.Code).AnyAsync();
exists.ThrowIfTrue($"工号{request.Code}重复");
}
}
}