From 084f83e3be4ca1cf255c3f2a62b7bb027ee19f6d Mon Sep 17 00:00:00 2001 From: LHD_HY <2872546851@qq.com> Date: Fri, 21 Nov 2025 15:02:01 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/enterprise/FinanceService.java | 7 +++++++ .../enterprise/RejectionItemService.java | 8 ++++++++ .../mainDatabase/dto/QualificationDto.java | 1 - .../mainDatabase/dto/RejectionItemDto.java | 1 + .../domain/template/vo/TemplateInfoVo.java | 2 +- .../mapper/IMDRejectionItemMapper.java | 12 ++++++++++++ .../service/IMDRejectionItemService.java | 11 +++++++++++ .../impl/IMDRejectionItemServiceImpl.java | 17 +++++++++++++++++ .../resources/mapper/RejectionItemMapper.xml | 12 ++++++++++++ .../mapper/IMDTemplateCompositionMapper.xml | 18 ++++++++++++++++++ .../resources/mapper/IMDTemplateInfoMapper.xml | 4 ++-- 11 files changed, 89 insertions(+), 4 deletions(-) diff --git a/bonus-admin/src/main/java/com/bonus/web/service/enterprise/FinanceService.java b/bonus-admin/src/main/java/com/bonus/web/service/enterprise/FinanceService.java index 096f37b..33ecca7 100644 --- a/bonus-admin/src/main/java/com/bonus/web/service/enterprise/FinanceService.java +++ b/bonus-admin/src/main/java/com/bonus/web/service/enterprise/FinanceService.java @@ -110,6 +110,13 @@ public class FinanceService { if (rows <= 0) { throw new RuntimeException("财务数据新增失败"); } + if (CollectionUtils.isNotEmpty(addDto.getFiles())) { + for (ResourceFilePo file : addDto.getFiles()) { + file.setBusinessId(addDto.getFinanceId()); + file.setSourceTable(TableConstants.TB_ENTERPRISE_FINANCE); + } + sourceFileService.saveResourceFile(addDto.getFiles()); + } return AjaxResult.success("新增财务信息成功"); } catch (RuntimeException e) { diff --git a/bonus-admin/src/main/java/com/bonus/web/service/enterprise/RejectionItemService.java b/bonus-admin/src/main/java/com/bonus/web/service/enterprise/RejectionItemService.java index 50fd867..a09fd0f 100644 --- a/bonus-admin/src/main/java/com/bonus/web/service/enterprise/RejectionItemService.java +++ b/bonus-admin/src/main/java/com/bonus/web/service/enterprise/RejectionItemService.java @@ -97,6 +97,10 @@ public class RejectionItemService { } try { + int result = imdRejectionItemService.isRepeat(addDto); + if(result > 0){ + return AjaxResult.error("废标项已存在"); + } // 2. 调用内层Service新增废标项(操作类型1=新增) int rows = imdRejectionItemService.operRejectionItemData(addDto, 1); if (rows <= 0) { @@ -126,6 +130,10 @@ public class RejectionItemService { } try { + int result = imdRejectionItemService.isRepeat(editDto); + if(result > 0){ + return AjaxResult.error("废标项已存在"); + } // 2. 校验废标项是否存在 RejectionItemVo existVo = imdRejectionItemService.selectRejectionItemDetail(editDto); if (Objects.isNull(existVo) || Objects.isNull(existVo.getItemId())) { diff --git a/bonus-common/src/main/java/com/bonus/common/domain/mainDatabase/dto/QualificationDto.java b/bonus-common/src/main/java/com/bonus/common/domain/mainDatabase/dto/QualificationDto.java index caf676b..69af88e 100644 --- a/bonus-common/src/main/java/com/bonus/common/domain/mainDatabase/dto/QualificationDto.java +++ b/bonus-common/src/main/java/com/bonus/common/domain/mainDatabase/dto/QualificationDto.java @@ -75,7 +75,6 @@ public class QualificationDto { * 发证机构 * 新增、修改时必填 */ - @NotBlank(message = "发证机构不能为空", groups = {ADD.class, UPDATE.class}) @Length(max = 64, message = "发证机构长度不能超过64", groups = {ADD.class, UPDATE.class}) private String certificateInstitution; diff --git a/bonus-common/src/main/java/com/bonus/common/domain/mainDatabase/dto/RejectionItemDto.java b/bonus-common/src/main/java/com/bonus/common/domain/mainDatabase/dto/RejectionItemDto.java index ea95acb..15d030d 100644 --- a/bonus-common/src/main/java/com/bonus/common/domain/mainDatabase/dto/RejectionItemDto.java +++ b/bonus-common/src/main/java/com/bonus/common/domain/mainDatabase/dto/RejectionItemDto.java @@ -56,6 +56,7 @@ public class RejectionItemDto extends BaseEntity { /** * 废标项描述- 支持自动换行,排序4 */ + @NotBlank(message = "废标项描述不能为空", groups = {ADD.class, UPDATE.class,UPDATE.class,IMPORT.class}) @Length(max = 256, message = "废标项描述长度不能超过256", groups = {ADD.class, UPDATE.class,IMPORT.class}) private String itemDesc; diff --git a/bonus-common/src/main/java/com/bonus/common/domain/template/vo/TemplateInfoVo.java b/bonus-common/src/main/java/com/bonus/common/domain/template/vo/TemplateInfoVo.java index 7496996..c78b5ed 100644 --- a/bonus-common/src/main/java/com/bonus/common/domain/template/vo/TemplateInfoVo.java +++ b/bonus-common/src/main/java/com/bonus/common/domain/template/vo/TemplateInfoVo.java @@ -31,7 +31,7 @@ public class TemplateInfoVo extends BaseEntity { /** * 模板名称 */ - private Long templateName; + private String templateName; /** * 解析标签名称(新增:关联查询,用于前端展示标签名称) diff --git a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/mapper/IMDRejectionItemMapper.java b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/mapper/IMDRejectionItemMapper.java index 73b1b73..97f9aa5 100644 --- a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/mapper/IMDRejectionItemMapper.java +++ b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/mapper/IMDRejectionItemMapper.java @@ -1,5 +1,6 @@ package com.bonus.mainDataBase.mapper; +import com.bonus.common.domain.mainDatabase.dto.QualificationDto; import com.bonus.common.domain.mainDatabase.dto.RejectionItemDto; import com.bonus.common.domain.mainDatabase.vo.RejectionItemVo; import org.apache.ibatis.annotations.Param; @@ -68,4 +69,15 @@ public interface IMDRejectionItemMapper { */ List selectExistingItemNames(RejectionItemDto dto); + /** + * 废标项是否重复(同一企业下唯一) + * + * @param dto 废标项校验DTO + * @return int 重复数量:0=不重复,>0=重复 + * @author csy + * @date 2025/10/30 14:08 + */ + int isRepeat(RejectionItemDto dto); + + } diff --git a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/IMDRejectionItemService.java b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/IMDRejectionItemService.java index 78132b7..71b07a4 100644 --- a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/IMDRejectionItemService.java +++ b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/IMDRejectionItemService.java @@ -1,5 +1,6 @@ package com.bonus.mainDataBase.service; +import com.bonus.common.domain.mainDatabase.dto.QualificationDto; import com.bonus.common.domain.mainDatabase.dto.RejectionItemDto; import com.bonus.common.domain.mainDatabase.vo.RejectionItemVo; @@ -53,4 +54,14 @@ public interface IMDRejectionItemService { * @return 废标项名称列表(格式:["名称1", "名称2"]) */ List findExistingItemNames(RejectionItemDto dto); + + /** + * 校验废项标是否重复 + * @param dto 废项标校验DTO + * @return int 重复数量:0=不重复,>=0重复 + * @author csy + * @date 2025/10/30 10:25 + */ + int isRepeat(RejectionItemDto dto); + } diff --git a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/impl/IMDRejectionItemServiceImpl.java b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/impl/IMDRejectionItemServiceImpl.java index 127f169..f237e8c 100644 --- a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/impl/IMDRejectionItemServiceImpl.java +++ b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/impl/IMDRejectionItemServiceImpl.java @@ -1,5 +1,6 @@ package com.bonus.mainDataBase.service.impl; +import com.bonus.common.domain.mainDatabase.dto.QualificationDto; import com.bonus.common.domain.mainDatabase.dto.RejectionItemDto; import com.bonus.common.domain.mainDatabase.vo.RejectionItemVo; import com.bonus.mainDataBase.mapper.IMDRejectionItemMapper; @@ -152,4 +153,20 @@ public class IMDRejectionItemServiceImpl implements IMDRejectionItemService { } } + /** + * 校验废标项是否重复(同一企业下唯一) + */ + @Override + public int isRepeat(RejectionItemDto dto) { + try { + // 调用Mapper查询重复数量,空值处理为0,避免空指针 + return Optional.ofNullable(imdRejectionItemMapper.isRepeat(dto)) + .orElse(0); + } catch (Exception e) { + log.error("校验证书编号重复异常,企业ID:{},废标项:{}", dto.getEnterpriseId(), dto.getItemName(), e); + return 0; + } + } + + } diff --git a/bonus-mainDatabase/src/main/resources/mapper/RejectionItemMapper.xml b/bonus-mainDatabase/src/main/resources/mapper/RejectionItemMapper.xml index cf872e3..96e9fa4 100644 --- a/bonus-mainDatabase/src/main/resources/mapper/RejectionItemMapper.xml +++ b/bonus-mainDatabase/src/main/resources/mapper/RejectionItemMapper.xml @@ -148,5 +148,17 @@ and del_flag = '0' + + diff --git a/bonus-template/src/main/resources/mapper/IMDTemplateCompositionMapper.xml b/bonus-template/src/main/resources/mapper/IMDTemplateCompositionMapper.xml index bb6656e..845950a 100644 --- a/bonus-template/src/main/resources/mapper/IMDTemplateCompositionMapper.xml +++ b/bonus-template/src/main/resources/mapper/IMDTemplateCompositionMapper.xml @@ -19,12 +19,16 @@ tb.composition_id, tb.template_id, tb.composition_type, tb.file_name, tb.file_type from tb_template_composition tb + left join tb_template_composition comp + on tb.template_id = comp.template_id + where tb.del_flag = '0' @@ -66,4 +70,18 @@ + + + update tb_template_composition + + + file_name = #{fileName}, + + + file_type = #{fileType}, + + + where composition_id = #{compositionId} + + diff --git a/bonus-template/src/main/resources/mapper/IMDTemplateInfoMapper.xml b/bonus-template/src/main/resources/mapper/IMDTemplateInfoMapper.xml index 933159c..7c7632b 100644 --- a/bonus-template/src/main/resources/mapper/IMDTemplateInfoMapper.xml +++ b/bonus-template/src/main/resources/mapper/IMDTemplateInfoMapper.xml @@ -18,7 +18,7 @@ - + @@ -38,7 +38,7 @@ tb.update_user_name, tb.del_flag, tb.analysis_label_id, - GROUP_CONCAT(comp.file_name SEPARATOR ',') as compositionName + GROUP_CONCAT(comp.file_name SEPARATOR '、') as compositionName from tb_template tb left join tb_template_composition comp on tb.template_id = comp.template_id