From 0a8119461bea9b913819d302b8820f1dc2cf420c Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 07 一月 2025 17:07:15 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java index ea835fe..deab3c7 100644 --- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java +++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwContractServiceImpl.java @@ -19,6 +19,7 @@ import com.sinata.system.service.MwContractService; import com.sinata.system.service.SysDepartmentService; import lombok.RequiredArgsConstructor; +import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -82,7 +83,12 @@ @Transactional(rollbackFor = Exception.class) public void add(MwContractDTO dto) { MwContract mwContract = BeanUtils.copyBean(dto, MwContract.class); - save(mwContract); + try { + save(mwContract); + } catch (DuplicateKeyException e) { + throw new ServiceException("合同编号重复"); + } + if (CollUtils.isNotEmpty(dto.getAttachmentList())) { List<MwAttachment> mwAttachments = BeanUtils.copyToList(dto.getAttachmentList(), MwAttachment.class); mwAttachments.forEach(attachment -> { @@ -105,7 +111,12 @@ throw new ServiceException("合同id不能为空"); } MwContract mwContract = BeanUtils.copyBean(dto, MwContract.class); - updateById(mwContract); + + try { + updateById(mwContract); + } catch (DuplicateKeyException e) { + throw new ServiceException("合同编号重复"); + } if (CollUtils.isNotEmpty(dto.getAttachmentList())) { //删除原来的附件 mwAttachmentService.lambdaUpdate().eq(MwAttachment::getType, AttachmentTypeEnum.CONTRACT.getCode()).eq(MwAttachment::getTargetId, dto.getId()).remove(); -- Gitblit v1.7.1