diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/quality/QualityManagementReviewCheckEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/quality/QualityManagementReviewCheckEnum.java new file mode 100644 index 0000000..fd8f1a7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/quality/QualityManagementReviewCheckEnum.java @@ -0,0 +1,40 @@ +package com.casic.missiles.enums.quality; + +/** + * 管理评审年份校验枚举类 + * + * @Author: lwh + * @Date: 2023/8/10 19:40 + */ +public enum QualityManagementReviewCheckEnum { + MANAGEMENT_REVIEW_PLAN("biz_quality_management_review_plan", "管理评审计划", "commanderId"), + MANAGEMENT_REVIEW_REP("biz_quality_management_review_rep", "管理评审报告", "commanderId"), + TARGET_EVALUATION_REP("biz_quality_management_review_plan", "质量目标评测报告", "commanderId"), + TECHNICAL_ANALYSIS_REP("biz_quality_technical_analysis_rep", "技术能力分析报告", "commanderId"), + EFFECTIVE_ANALYSIS("biz_quality_effective_analysis", "有效性综合分析报告", "commanderId"); + + private String code; + private String title; + /** + * 检索后实体的字段名称 + */ + private String creatorColumnId; + + QualityManagementReviewCheckEnum(String code, String title, String creatorColumnId) { + this.code = code; + this.title = title; + this.creatorColumnId = creatorColumnId; + } + + public String getCode() { + return code; + } + + public String getTitle() { + return title; + } + + public String getCreatorColumnId() { + return creatorColumnId; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/quality/QualityManagementReviewCheckEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/quality/QualityManagementReviewCheckEnum.java new file mode 100644 index 0000000..fd8f1a7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/quality/QualityManagementReviewCheckEnum.java @@ -0,0 +1,40 @@ +package com.casic.missiles.enums.quality; + +/** + * 管理评审年份校验枚举类 + * + * @Author: lwh + * @Date: 2023/8/10 19:40 + */ +public enum QualityManagementReviewCheckEnum { + MANAGEMENT_REVIEW_PLAN("biz_quality_management_review_plan", "管理评审计划", "commanderId"), + MANAGEMENT_REVIEW_REP("biz_quality_management_review_rep", "管理评审报告", "commanderId"), + TARGET_EVALUATION_REP("biz_quality_management_review_plan", "质量目标评测报告", "commanderId"), + TECHNICAL_ANALYSIS_REP("biz_quality_technical_analysis_rep", "技术能力分析报告", "commanderId"), + EFFECTIVE_ANALYSIS("biz_quality_effective_analysis", "有效性综合分析报告", "commanderId"); + + private String code; + private String title; + /** + * 检索后实体的字段名称 + */ + private String creatorColumnId; + + QualityManagementReviewCheckEnum(String code, String title, String creatorColumnId) { + this.code = code; + this.title = title; + this.creatorColumnId = creatorColumnId; + } + + public String getCode() { + return code; + } + + public String getTitle() { + return title; + } + + public String getCreatorColumnId() { + return creatorColumnId; + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/base/BaseCheckManagementReviewService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/base/BaseCheckManagementReviewService.java new file mode 100644 index 0000000..4e5d6b7 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/quality/base/BaseCheckManagementReviewService.java @@ -0,0 +1,47 @@ +package com.casic.missiles.service.Impl.quality.base; + +import cn.hutool.core.convert.Convert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.core.application.context.factory.PermissionContextFactory; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.quality.QualityManagementReviewCheckEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.modular.system.model.User; + +import java.util.List; +import java.util.Map; + +public interface BaseCheckManagementReviewService{ + /** + * 检查该文件是否已创建,若已创建则提示 + * + * @param baseMapper + * @param yearNo 年份及编号 + * @param id 主键 + */ + default void checkYearNo(BaseMapper baseMapper, String yearNo, Long id, QualityManagementReviewCheckEnum checkEnum) { + QueryWrapper query = new QueryWrapper<>(); + query.eq("year_no", yearNo); + if (id != null) { + query.ne("id", id); + } + List> maps = baseMapper.selectMaps(query); + if (maps != null && maps.size() > 0) { + Map map = maps.get(0); + Object userId = map.get(checkEnum.getCreatorColumnId()); + BusinessException businessException = new BusinessException(BusinessExceptionEnum.DUPLICATE_NUMBER); + businessException.setMessage("已新建该" + checkEnum.getTitle()); + if (userId == null) { + throw businessException; + } else { + String idStr = Convert.toStr(userId); + User user = PermissionContextFactory.me().getUserService().getById(idStr); + if (user != null) { + businessException.setMessage("创建人" + user.getName() + businessException.getMessage()); + } + throw businessException; + } + } + } +}