From 38b98060fb1fcd6918d7e0a1b19e9f20679fcc18 Mon Sep 17 00:00:00 2001 From: zhoukeda <1315948824@qq.com> Date: Tue, 23 May 2023 08:58:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90bom=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E5=94=AF=E4=B8=80=E6=80=A7=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BasicData/Tnb.BasicData/BasMbomService.cs | 33 +++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/BasicData/Tnb.BasicData/BasMbomService.cs b/BasicData/Tnb.BasicData/BasMbomService.cs index 586fc06c..356f7cb4 100644 --- a/BasicData/Tnb.BasicData/BasMbomService.cs +++ b/BasicData/Tnb.BasicData/BasMbomService.cs @@ -133,6 +133,7 @@ namespace Tnb.BasicData [HttpPost] public async Task SaveData(MbomSaveDataInput mbomSaveDataInput) { + ErrorCode errorCode = ErrorCode.COM1008; DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => { //新增 @@ -158,6 +159,13 @@ namespace Tnb.BasicData 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); List processes = new List(); List inputs = new List(); @@ -233,6 +241,13 @@ namespace Tnb.BasicData } 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; await _repository.UpdateAsync(x=>new BasMbom() { @@ -334,11 +349,25 @@ namespace Tnb.BasicData { 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 { - throw Oops.Oh(ErrorCode.COM1000); + if (errorCode != ErrorCode.COM1004) + { + throw Oops.Oh(ErrorCode.COM1000); + } + else + { + throw Oops.Oh(errorCode); + } } }