生成bom版本号唯一性校验

This commit is contained in:
2023-05-23 08:58:34 +08:00
parent 486d76e3d0
commit 38b98060fb

View File

@@ -133,6 +133,7 @@ namespace Tnb.BasicData
[HttpPost] [HttpPost]
public async Task<string> SaveData(MbomSaveDataInput mbomSaveDataInput) public async Task<string> SaveData(MbomSaveDataInput mbomSaveDataInput)
{ {
ErrorCode errorCode = ErrorCode.COM1008;
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{ {
//新增 //新增
@@ -158,6 +159,13 @@ namespace Tnb.BasicData
create_time = DateTime.Now, create_time = DateTime.Now,
}; };
if (await _repository.IsAnyAsync(x =>
x.material_id == mbomSaveDataInput.material_id && x.version == mbomSaveDataInput.version))
{
errorCode = ErrorCode.COM1004;
throw Oops.Oh(ErrorCode.COM1004);
}
await _repository.InsertAsync(mbom); await _repository.InsertAsync(mbom);
List<BasMbomProcess> processes = new List<BasMbomProcess>(); List<BasMbomProcess> processes = new List<BasMbomProcess>();
List<BasMbomInput> inputs = new List<BasMbomInput>(); List<BasMbomInput> inputs = new List<BasMbomInput>();
@@ -233,6 +241,13 @@ namespace Tnb.BasicData
} }
else//修改 else//修改
{ {
if (await _repository.IsAnyAsync(x =>
x.material_id == mbomSaveDataInput.material_id && x.version == mbomSaveDataInput.version && x.id!=mbomSaveDataInput.id))
{
errorCode = ErrorCode.COM1004;
throw Oops.Oh(ErrorCode.COM1004);
}
string orgId = _userManager.GetUserInfo().Result.organizeId; string orgId = _userManager.GetUserInfo().Result.organizeId;
await _repository.UpdateAsync(x=>new BasMbom() await _repository.UpdateAsync(x=>new BasMbom()
{ {
@@ -334,11 +349,25 @@ namespace Tnb.BasicData
{ {
if (!string.IsNullOrEmpty(mbomSaveDataInput.id)) if (!string.IsNullOrEmpty(mbomSaveDataInput.id))
{ {
throw Oops.Oh(ErrorCode.COM1001); if (errorCode != ErrorCode.COM1004)
{
throw Oops.Oh(ErrorCode.COM1001);
}
else
{
throw Oops.Oh(errorCode);
}
} }
else else
{ {
throw Oops.Oh(ErrorCode.COM1000); if (errorCode != ErrorCode.COM1004)
{
throw Oops.Oh(ErrorCode.COM1000);
}
else
{
throw Oops.Oh(errorCode);
}
} }
} }