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