|
@@ -15,13 +15,16 @@ public class AdoS0EmployeesController : ControllerBase
|
|
|
{
|
|
{
|
|
|
private readonly SqlSugarRepository<AdoS0EmployeeMaster> _rep;
|
|
private readonly SqlSugarRepository<AdoS0EmployeeMaster> _rep;
|
|
|
private readonly SqlSugarRepository<AdoS0DepartmentMaster> _deptRep;
|
|
private readonly SqlSugarRepository<AdoS0DepartmentMaster> _deptRep;
|
|
|
|
|
+ private readonly AdoS0ReferenceChecker _refChecker;
|
|
|
|
|
|
|
|
public AdoS0EmployeesController(
|
|
public AdoS0EmployeesController(
|
|
|
SqlSugarRepository<AdoS0EmployeeMaster> rep,
|
|
SqlSugarRepository<AdoS0EmployeeMaster> rep,
|
|
|
- SqlSugarRepository<AdoS0DepartmentMaster> deptRep)
|
|
|
|
|
|
|
+ SqlSugarRepository<AdoS0DepartmentMaster> deptRep,
|
|
|
|
|
+ AdoS0ReferenceChecker refChecker)
|
|
|
{
|
|
{
|
|
|
_rep = rep;
|
|
_rep = rep;
|
|
|
_deptRep = deptRep;
|
|
_deptRep = deptRep;
|
|
|
|
|
+ _refChecker = refChecker;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
[HttpGet]
|
|
[HttpGet]
|
|
@@ -65,6 +68,10 @@ public class AdoS0EmployeesController : ControllerBase
|
|
|
if (await _rep.IsAnyAsync(x => x.FactoryRefId == dto.FactoryRefId && x.Employee == dto.Employee))
|
|
if (await _rep.IsAnyAsync(x => x.FactoryRefId == dto.FactoryRefId && x.Employee == dto.Employee))
|
|
|
return AdoS0ApiErrors.Conflict(AdoS0ErrorCodes.DuplicateCode, "员工编码已存在");
|
|
return AdoS0ApiErrors.Conflict(AdoS0ErrorCodes.DuplicateCode, "员工编码已存在");
|
|
|
|
|
|
|
|
|
|
+ if (!await _refChecker.DepartmentExistsAsync(dto.Department))
|
|
|
|
|
+ return AdoS0ApiErrors.InvalidReference(AdoS0ErrorCodes.ReferenceNotFound,
|
|
|
|
|
+ $"部门编码 '{dto.Department}' 不存在于部门主数据");
|
|
|
|
|
+
|
|
|
var entity = MapToEntity(dto);
|
|
var entity = MapToEntity(dto);
|
|
|
entity.CreateTime = DateTime.Now;
|
|
entity.CreateTime = DateTime.Now;
|
|
|
await _rep.AsInsertable(entity).ExecuteReturnEntityAsync();
|
|
await _rep.AsInsertable(entity).ExecuteReturnEntityAsync();
|
|
@@ -80,6 +87,10 @@ public class AdoS0EmployeesController : ControllerBase
|
|
|
if (await _rep.IsAnyAsync(x => x.Id != id && x.FactoryRefId == dto.FactoryRefId && x.Employee == dto.Employee))
|
|
if (await _rep.IsAnyAsync(x => x.Id != id && x.FactoryRefId == dto.FactoryRefId && x.Employee == dto.Employee))
|
|
|
return AdoS0ApiErrors.Conflict(AdoS0ErrorCodes.DuplicateCode, "员工编码已存在");
|
|
return AdoS0ApiErrors.Conflict(AdoS0ErrorCodes.DuplicateCode, "员工编码已存在");
|
|
|
|
|
|
|
|
|
|
+ if (!await _refChecker.DepartmentExistsAsync(dto.Department))
|
|
|
|
|
+ return AdoS0ApiErrors.InvalidReference(AdoS0ErrorCodes.ReferenceNotFound,
|
|
|
|
|
+ $"部门编码 '{dto.Department}' 不存在于部门主数据");
|
|
|
|
|
+
|
|
|
entity.CompanyRefId = dto.CompanyRefId;
|
|
entity.CompanyRefId = dto.CompanyRefId;
|
|
|
entity.FactoryRefId = dto.FactoryRefId;
|
|
entity.FactoryRefId = dto.FactoryRefId;
|
|
|
entity.DomainCode = dto.DomainCode ?? string.Empty;
|
|
entity.DomainCode = dto.DomainCode ?? string.Empty;
|