浏览代码

单位营业收入功能完善

hlf 11 月之前
父节点
当前提交
ebac83508b

+ 3 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluateRuleService.java

@@ -1,8 +1,8 @@
 package com.ims.eval.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.ims.eval.entity.EvaluateRule;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ims.eval.entity.EvaluateRule;
 import com.ims.eval.entity.dto.response.EvaluateRuleInfoResDTO;
 import com.ims.eval.entity.dto.result.R;
 import org.springframework.web.multipart.MultipartFile;
@@ -45,4 +45,6 @@ public interface IEvaluateRuleService extends IService<EvaluateRule> {
 	void importTemplate(HttpServletResponse response) throws IOException;
 
 	R importExcel(MultipartFile file);
+
+	EvaluateRule checkForExistence(String ruleName, String checkCycle, String binStage, String binSection, String year);
 }

+ 3 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/IMultipleBrandService.java

@@ -1,8 +1,8 @@
 package com.ims.eval.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.ims.eval.entity.MultipleBrand;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ims.eval.entity.MultipleBrand;
 import com.ims.eval.entity.dto.result.R;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -31,4 +31,6 @@ public interface IMultipleBrandService extends IService<MultipleBrand> {
 	void importTemplate(HttpServletResponse response) throws IOException;
 
 	R importExcel(MultipartFile file);
+
+	MultipleBrand checkForExistence(String organizationName, String checkCycle, String binSection, String year, String month);
 }

+ 2 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IOrganizationEvaluationRuleService.java

@@ -46,4 +46,6 @@ public interface IOrganizationEvaluationRuleService extends IService<Organizatio
 	void importTemplate(HttpServletResponse response) throws IOException;
 
 	R importExcel(MultipartFile file);
+
+	OrganizationEvaluationRule checkForExistence(String organizationName, String evaluationCycle, String binStage, String binSection, String year);
 }

+ 56 - 38
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateRuleServiceImpl.java

@@ -262,7 +262,7 @@ public class EvaluateRuleServiceImpl extends ServiceImpl<EvaluateRuleMapper, Eva
 
 		// 创建表头
 		Row headerRow = sheet.createRow(0);
-		List<String> headers = Arrays.asList("ID", "规则名称", "业务阶段", "业务属性", "考评周期", "年份", "描述");
+		List<String> headers = Arrays.asList("规则名称", "业务阶段", "业务属性", "考评周期", "年份", "描述");
 		for (int i = 0; i < headers.size(); i++) {
 			Cell cell = headerRow.createCell(i);
 			cell.setCellValue(headers.get(i));
@@ -276,25 +276,24 @@ public class EvaluateRuleServiceImpl extends ServiceImpl<EvaluateRuleMapper, Eva
 		for (EvaluateRule evaluateRule : evaluateRuleList) {
 			Row row = sheet.createRow(rowIndex++);
 
-			// 设置ID
-			row.createCell(0).setCellValue(evaluateRule.getId());
-
-			// 设置其他数据
-			row.createCell(1).setCellValue(evaluateRule.getRuleName());
-			row.createCell(2).setCellValue(evaluateRule.getBinStageName());
-			row.createCell(3).setCellValue(evaluateRule.getBinSectionName());
+			// 设置数据
+			row.createCell(0).setCellValue(evaluateRule.getRuleName());
+			row.createCell(1).setCellValue(evaluateRule.getBinStageName());
+			row.createCell(2).setCellValue(evaluateRule.getBinSectionName());
 			if ("NDKP".equals(evaluateRule.getCheckCycle())) {
 				checkCycle = "年度考评";
 			} else {
 				checkCycle = "月/季度考评";
 			}
-			row.createCell(4).setCellValue(checkCycle);
-			row.createCell(5).setCellValue(evaluateRule.getYear());
-			row.createCell(6).setCellValue(evaluateRule.getDes());
+			row.createCell(3).setCellValue(checkCycle);
+			row.createCell(4).setCellValue(evaluateRule.getYear());
+			row.createCell(5).setCellValue(evaluateRule.getDes());
 		}
 
-		// 隐藏第一列(ID列)
-		sheet.setColumnHidden(0, true);
+		// 自动调整列宽
+		for (int i = 0; i < headers.size(); i++) {
+			sheet.autoSizeColumn(i);
+		}
 
 		// 将工作簿写入到输出流
 		try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
@@ -356,35 +355,34 @@ public class EvaluateRuleServiceImpl extends ServiceImpl<EvaluateRuleMapper, Eva
 				//遍历Excel表每一行的数据
 				for (String[] str : strings) {
 					EvaluateRule evaluateRule = new EvaluateRule();
-					if (OrganizationEvaluationRuleServiceImpl.verifyID(str[0])) {
-						evaluateRule.setId(str[0]);
-						evaluateRule.setRuleName(str[1]);
-						evaluateRule.setDes(str[6]);
-						evaluateRuleList.add(evaluateRule);
+					String checkCycle = "";
+					if ("年度考评".equals(str[3])) {
+						checkCycle = "NDKP";
+					} else if ("月/季度考评".equals(str[3])) {
+						checkCycle = "JDKP";
 					} else {
-						evaluateRule.setRuleName(str[0]);
-						BinStage binStage = binStageService.getBinStageByStageName(str[1]);
-						if (null != binStage){
+						checkCycle = "JDKP";
+					}
+					BinStage binStage = binStageService.getBinStageByStageName(str[1]);
+					BinSection binSection = binSectionService.getBinSectionBySectionName(str[2]);
+					if (null != binStage && null != binSection){
+						EvaluateRule obj = this.checkForExistence(str[0], checkCycle, binStage.getId(), binSection.getId(), str[4]);
+						if (null != obj) {
+							evaluateRule.setId(obj.getId());
+							evaluateRule.setRuleName(str[1]);
+							evaluateRule.setDes(str[6]);
+							evaluateRuleList.add(evaluateRule);
+						} else {
+							evaluateRule.setRuleName(str[0]);
 							evaluateRule.setBinStage(binStage.getId());
-						}
-						BinSection binSection = binSectionService.getBinSectionBySectionName(str[2]);
-						if (null != binSection){
 							evaluateRule.setBinSection(binSection.getId());
+							evaluateRule.setEnable(true);
+							evaluateRule.setCheckCycle(checkCycle);
+							evaluateRule.setYear(str[4]);
+							evaluateRule.setDes(str[5]);
+							evaluateRule.setCreateTime(new Date());
+							evaluateRuleList.add(evaluateRule);
 						}
-						evaluateRule.setEnable(true);
-						String checkCycle = "";
-						if ("年度考评".equals(str[3])) {
-							checkCycle = "NDKP";
-						} else if ("月/季度考评".equals(str[3])) {
-							checkCycle = "JDKP";
-						} else {
-							checkCycle = "JDKP";
-						}
-						evaluateRule.setCheckCycle(checkCycle);
-						evaluateRule.setYear(str[4]);
-						evaluateRule.setDes(str[5]);
-						evaluateRule.setCreateTime(new Date());
-						evaluateRuleList.add(evaluateRule);
 					}
 				}
 				boolean b = super.saveOrUpdateBatch(evaluateRuleList);
@@ -412,4 +410,24 @@ public class EvaluateRuleServiceImpl extends ServiceImpl<EvaluateRuleMapper, Eva
 		return baseMapper.selectOne(qw);
 	}
 
+	@Override
+	public EvaluateRule checkForExistence(String ruleName, String checkCycle, String binStage, String binSection, String year) {
+		QueryWrapper<EvaluateRule> qw = new QueryWrapper<>();
+		if (StringUtils.isNotEmpty(ruleName)) {
+			qw.lambda().eq(EvaluateRule::getRuleName, ruleName);
+		}
+		if (StringUtils.isNotEmpty(checkCycle)) {
+			qw.lambda().eq(EvaluateRule::getCheckCycle, checkCycle);
+		}
+		if (StringUtils.isNotEmpty(binStage)) {
+			qw.lambda().eq(EvaluateRule::getBinStage, binStage);
+		}
+		if (StringUtils.isNotEmpty(binSection)) {
+			qw.lambda().eq(EvaluateRule::getBinSection, binSection);
+		}
+		if (StringUtils.isNotEmpty(year)) {
+			qw.lambda().eq(EvaluateRule::getYear, year);
+		}
+		return baseMapper.selectOne(qw);
+	}
 }

+ 60 - 44
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/MultipleBrandServiceImpl.java

@@ -1,14 +1,13 @@
 package com.ims.eval.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ims.common.utils.StringUtils;
 import com.ims.eval.dao.MultipleBrandMapper;
-import com.ims.eval.entity.BinSection;
-import com.ims.eval.entity.Indicator;
-import com.ims.eval.entity.MultipleBrand;
-import com.ims.eval.entity.OrganizationStructure;
+import com.ims.eval.entity.*;
 import com.ims.eval.entity.dto.result.R;
 import com.ims.eval.service.IBinSectionService;
 import com.ims.eval.service.IMultipleBrandService;
@@ -86,7 +85,7 @@ public class MultipleBrandServiceImpl extends ServiceImpl<MultipleBrandMapper, M
 
 		// 创建表头
 		Row headerRow = sheet.createRow(0);
-		List<String> headers = Arrays.asList("ID", "单位名称", "业务属性", "考评周期", "利润金额", "分数", "年", "月", "备注");
+		List<String> headers = Arrays.asList("单位名称", "业务属性", "考评周期", "利润金额", "分数", "年", "月", "备注");
 		for (int i = 0; i < headers.size(); i++) {
 			Cell cell = headerRow.createCell(i);
 			cell.setCellValue(headers.get(i));
@@ -116,9 +115,6 @@ public class MultipleBrandServiceImpl extends ServiceImpl<MultipleBrandMapper, M
 			sheet.autoSizeColumn(i);
 		}
 
-		// 隐藏第一列(ID列)
-		sheet.setColumnHidden(0, true);
-
 		// 将工作簿写入到输出流
 		try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
 			workbook.write(outputStream);
@@ -179,36 +175,37 @@ public class MultipleBrandServiceImpl extends ServiceImpl<MultipleBrandMapper, M
 				//遍历Excel表每一行的数据
 				for (String[] str : strings) {
 					MultipleBrand multipleBrand = new MultipleBrand();
-					if (OrganizationEvaluationRuleServiceImpl.verifyID(str[0])) {
-						multipleBrand.setId(str[0]);
-						multipleBrand.setProfit(Double.valueOf(str[4]));
-						multipleBrand.setScore(Double.valueOf(str[5]));
-						multipleBrand.setRemark(str[8]);
-						multipleBrandList.add(multipleBrand);
-					} else {
-						List<OrganizationStructure> organizationStructureList = organizationStructureService.getList2("", null, "");
-						OrganizationStructure organizationStructure0 = organizationStructureList.stream().filter(item -> item.getShortName().equals(str[0])).findFirst().orElse(null);
-						if (null != organizationStructure0) {
-							multipleBrand.setOrganizationId(organizationStructure0.getId());
-							multipleBrand.setOrganizationName(organizationStructure0.getName());
-						}
-						if (null != str[1] && !"".equals(str[1])){
-							OrganizationStructure organizationStructure1 = organizationStructureList.stream().filter(item -> item.getShortName().equals(str[1])).findFirst().orElse(null);
-							if (null != organizationStructure1) {
-								multipleBrand.setParentId(organizationStructure1.getId());
+					BinSection binSection = binSectionService.getBinSectionBySectionName(str[2]);
+					if (null != binSection) {
+						MultipleBrand obj = this.checkForExistence(str[0], OrganizationEvaluationRuleServiceImpl.toFullSpell(str[3]), binSection.getId(), str[6], str[7]);
+						if (null != obj) {
+							multipleBrand.setId(obj.getId());
+							multipleBrand.setProfit(Double.valueOf(str[4]));
+							multipleBrand.setScore(Double.valueOf(str[5]));
+							multipleBrand.setRemark(str[8]);
+							multipleBrandList.add(multipleBrand);
+						} else {
+							List<OrganizationStructure> organizationStructureList = organizationStructureService.getList2("", null, "");
+							OrganizationStructure organizationStructure0 = organizationStructureList.stream().filter(item -> item.getShortName().equals(str[0])).findFirst().orElse(null);
+							if (null != organizationStructure0) {
+								multipleBrand.setOrganizationId(organizationStructure0.getId());
+								multipleBrand.setOrganizationName(organizationStructure0.getName());
+							}
+							if (null != str[1] && !"".equals(str[1])) {
+								OrganizationStructure organizationStructure1 = organizationStructureList.stream().filter(item -> item.getShortName().equals(str[1])).findFirst().orElse(null);
+								if (null != organizationStructure1) {
+									multipleBrand.setParentId(organizationStructure1.getId());
+								}
 							}
-						}
-						BinSection binSection = binSectionService.getBinSectionBySectionName(str[2]);
-						if (null != binSection){
 							multipleBrand.setBinSection(binSection.getId());
+							multipleBrand.setCheckCycle(OrganizationEvaluationRuleServiceImpl.toFullSpell(str[3]));
+							multipleBrand.setProfit(Double.valueOf(str[4]));
+							multipleBrand.setScore(Double.valueOf(str[5]));
+							multipleBrand.setYear(str[6]);
+							multipleBrand.setMonth(str[7]);
+							multipleBrand.setRemark(str[8]);
+							multipleBrandList.add(multipleBrand);
 						}
-						multipleBrand.setCheckCycle(OrganizationEvaluationRuleServiceImpl.toFullSpell(str[3]));
-						multipleBrand.setProfit(Double.valueOf(str[4]));
-						multipleBrand.setScore(Double.valueOf(str[5]));
-						multipleBrand.setYear(str[6]);
-						multipleBrand.setMonth(str[7]);
-						multipleBrand.setRemark(str[8]);
-						multipleBrandList.add(multipleBrand);
 					}
 				}
 				boolean b = super.saveOrUpdateBatch(multipleBrandList);
@@ -224,6 +221,26 @@ public class MultipleBrandServiceImpl extends ServiceImpl<MultipleBrandMapper, M
 		return R.error("上传文件为空!");
 	}
 
+	@Override
+	public MultipleBrand checkForExistence(String organizationName, String checkCycle, String binSection, String year, String month) {
+		QueryWrapper<MultipleBrand> qw = new QueryWrapper<>();
+		if (StringUtils.isNotEmpty(organizationName)) {
+			qw.lambda().eq(MultipleBrand::getOrganizationName, organizationName);
+		}
+		if (StringUtils.isNotEmpty(checkCycle)) {
+			qw.lambda().eq(MultipleBrand::getCheckCycle, checkCycle);
+		}
+		if (StringUtils.isNotEmpty(binSection)) {
+			qw.lambda().eq(MultipleBrand::getBinSection, binSection);
+		}
+		if (StringUtils.isNotEmpty(year)) {
+			qw.lambda().eq(MultipleBrand::getYear, year);
+		}
+		if (StringUtils.isNotEmpty(month)) {
+			qw.lambda().eq(MultipleBrand::getMonth, month);
+		}
+		return baseMapper.selectOne(qw);
+	}
 
 	/**
 	 * 转换为有树形结构的列表
@@ -276,9 +293,8 @@ public class MultipleBrandServiceImpl extends ServiceImpl<MultipleBrandMapper, M
 	}
 
 	private static void writeRow(Row row, MultipleBrand multipleBrand) {
-		row.createCell(0).setCellValue(multipleBrand.getId());
-		row.createCell(1).setCellValue(multipleBrand.getOrganizationName());
-		row.createCell(2).setCellValue(multipleBrand.getBinSectionName());
+		row.createCell(0).setCellValue(multipleBrand.getOrganizationName());
+		row.createCell(1).setCellValue(multipleBrand.getBinSectionName());
 		String checkCycle = "";
 		if ("NDKP".equals(multipleBrand.getCheckCycle())) {
 			checkCycle = "年度考评";
@@ -287,11 +303,11 @@ public class MultipleBrandServiceImpl extends ServiceImpl<MultipleBrandMapper, M
 		} else if ("YDKP".equals(multipleBrand.getCheckCycle())) {
 			checkCycle = "月度考评";
 		}
-		row.createCell(3).setCellValue(checkCycle);
-		row.createCell(4).setCellValue(multipleBrand.getProfit());
-		row.createCell(5).setCellValue(multipleBrand.getScore());
-		row.createCell(6).setCellValue(multipleBrand.getYear());
-		row.createCell(7).setCellValue(multipleBrand.getMonth());
-		row.createCell(8).setCellValue(multipleBrand.getRemark());
+		row.createCell(2).setCellValue(checkCycle);
+		row.createCell(3).setCellValue(multipleBrand.getProfit());
+		row.createCell(4).setCellValue(multipleBrand.getScore());
+		row.createCell(5).setCellValue(multipleBrand.getYear());
+		row.createCell(6).setCellValue(multipleBrand.getMonth());
+		row.createCell(7).setCellValue(multipleBrand.getRemark());
 	}
 }

+ 53 - 40
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationRuleServiceImpl.java

@@ -33,8 +33,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.Serializable;
 import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -322,7 +320,7 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 
 		// 创建表头
 		Row headerRow = sheet.createRow(0);
-		List<String> headers = Arrays.asList("ID", "单位名称", "考评周期", "考评规则", "是否考评", "考评年份", "生产经营权重", "前期权重", "基建权重");
+		List<String> headers = Arrays.asList("单位名称", "考评周期", "考评规则", "是否考评", "考评年份", "生产经营权重", "前期权重", "基建权重");
 		for (int i = 0; i < headers.size(); i++) {
 			Cell cell = headerRow.createCell(i);
 			cell.setCellValue(headers.get(i));
@@ -346,11 +344,8 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 		for (OrganizationEvaluationRule organizationEvaluationRule : organizationEvaluationRuleList) {
 			Row row = sheet.createRow(rowIndex++);
 
-			// 设置ID
-			row.createCell(0).setCellValue(organizationEvaluationRule.getId());
-
-			// 设置其他数据
-			row.createCell(1).setCellValue(organizationEvaluationRule.getOrganizationShortName());
+			// 设置其数据
+			row.createCell(0).setCellValue(organizationEvaluationRule.getOrganizationShortName());
 			if (null != organizationEvaluationRule.getEvaluationCycle()) {
 				if ("NDKP".equals(organizationEvaluationRule.getEvaluationCycle())) {
 					evaluationCycle = "年度考评";
@@ -359,9 +354,9 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 				} else if ("YDKP".equals(organizationEvaluationRule.getEvaluationCycle())) {
 					evaluationCycle = "月度考评";
 				}
-				row.createCell(2).setCellValue(evaluationCycle);
+				row.createCell(1).setCellValue(evaluationCycle);
 			}
-			row.createCell(3).setCellValue(organizationEvaluationRule.getEvaluateRuleName());
+			row.createCell(2).setCellValue(organizationEvaluationRule.getEvaluateRuleName());
 			if (null != organizationEvaluationRule.getIsCheck()) {
 				String isCheck;
 				if (organizationEvaluationRule.getIsCheck()) {
@@ -369,16 +364,18 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 				} else {
 					isCheck = "否";
 				}
-				row.createCell(4).setCellValue(isCheck);
+				row.createCell(3).setCellValue(isCheck);
 			}
-			row.createCell(5).setCellValue(organizationEvaluationRule.getYear());
-			row.createCell(6).setCellValue(organizationEvaluationRule.getScjyWeight());
-			row.createCell(7).setCellValue(organizationEvaluationRule.getQqWeight());
-			row.createCell(8).setCellValue(organizationEvaluationRule.getJjWeight());
+			row.createCell(4).setCellValue(organizationEvaluationRule.getYear());
+			row.createCell(5).setCellValue(organizationEvaluationRule.getScjyWeight());
+			row.createCell(6).setCellValue(organizationEvaluationRule.getQqWeight());
+			row.createCell(7).setCellValue(organizationEvaluationRule.getJjWeight());
 		}
 
-		// 隐藏第一列(ID列)
-		sheet.setColumnHidden(0, true);
+		// 自动调整列宽
+		for (int i = 0; i < headers.size(); i++) {
+			sheet.autoSizeColumn(i);
+		}
 
 		// 将工作簿写入到输出流
 		try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
@@ -440,8 +437,20 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 				//遍历Excel表每一行的数据
 				for (String[] str : strings) {
 					OrganizationEvaluationRule organizationEvaluationRule = new OrganizationEvaluationRule();
-					if (verifyID(str[0])) {
-						organizationEvaluationRule.setId(str[0]);
+					String evaluateRuleNameStr = str[2].replaceAll(",", ",");
+					String[] evaluateRuleNames = evaluateRuleNameStr.split(",");
+					StringBuilder evaluateRuleIds = new StringBuilder();
+					StringBuilder binSections = new StringBuilder();
+					StringBuilder binStages = new StringBuilder();
+					for (String evaluateRuleName : evaluateRuleNames) {
+						EvaluateRule evaluateRule = evaluateRuleService.getEvaluateRuleByRuleName(evaluateRuleName, str[4]);
+						evaluateRuleIds.append(evaluateRule.getId());
+						binSections.append(evaluateRule.getBinSection());
+						binStages.append(evaluateRule.getBinStage());
+					}
+					OrganizationEvaluationRule obj = this.checkForExistence(str[0], toFullSpell(str[1]), binStages.toString(), binSections.toString(), str[4]);
+					if (null != obj) {
+						organizationEvaluationRule.setId(obj.getId());
 						organizationEvaluationRule.setScjyWeight(Double.parseDouble(str[6]));
 						organizationEvaluationRule.setQqWeight(Double.parseDouble(str[7]));
 						organizationEvaluationRule.setJjWeight(Double.parseDouble(str[8]));
@@ -457,17 +466,6 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 						}
 						organizationEvaluationRule.setOrganizationType("DWKP");
 						organizationEvaluationRule.setEvaluationCycle(toFullSpell(str[1]));
-						str[2].replaceAll(",", ",");
-						String[] evaluateRuleNames = str[2].split(",");
-						StringBuilder evaluateRuleIds = new StringBuilder();
-						StringBuilder binSections = new StringBuilder();
-						StringBuilder binStages = new StringBuilder();
-						for (String evaluateRuleName : evaluateRuleNames){
-							EvaluateRule evaluateRule = evaluateRuleService.getEvaluateRuleByRuleName(evaluateRuleName, str[4]);
-							evaluateRuleIds.append(evaluateRule.getId());
-							binSections.append(evaluateRule.getBinSection());
-							binStages.append(evaluateRule.getBinStage());
-						}
 						organizationEvaluationRule.setEvaluateRuleId(evaluateRuleIds.toString());
 						organizationEvaluationRule.setBinSection(binSections.toString());
 						organizationEvaluationRule.setBinStage(binStages.toString());
@@ -497,6 +495,28 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 		return R.error("上传文件为空!");
 	}
 
+	@Override
+	public OrganizationEvaluationRule checkForExistence(String organizationName, String evaluationCycle, String binStage, String binSection, String year) {
+		QueryWrapper<OrganizationEvaluationRule> qw = new QueryWrapper<>();
+		if (StringUtils.isNotEmpty(organizationName)) {
+			qw.lambda().eq(OrganizationEvaluationRule::getOrganizationName, organizationName);
+		}
+		if (StringUtils.isNotEmpty(evaluationCycle)) {
+			qw.lambda().eq(OrganizationEvaluationRule::getEvaluationCycle, evaluationCycle);
+		}
+		if (StringUtils.isNotEmpty(binStage)) {
+			qw.lambda().eq(OrganizationEvaluationRule::getBinStage, binStage);
+		}
+		if (StringUtils.isNotEmpty(binSection)) {
+			qw.lambda().eq(OrganizationEvaluationRule::getBinSection, binSection);
+		}
+		if (StringUtils.isNotEmpty(year)) {
+			qw.lambda().eq(OrganizationEvaluationRule::getYear, year);
+		}
+		qw.lambda().eq(OrganizationEvaluationRule::getDelFlag, false);
+		return baseMapper.selectOne(qw);
+	}
+
 	@Transactional
 	@Override
 	public boolean saveOrUpdate(OrganizationEvaluationRule entity) {
@@ -559,16 +579,9 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 		return true;
 	}
 
-	public static boolean verifyID(String str) {
-		Pattern isPureNumericPattern = Pattern.compile("^\\d+$");
-		Matcher isPureNumericMatcher = isPureNumericPattern.matcher(str);
-
-		Pattern containsAlphaNumericPattern = Pattern.compile("^(?=.*\\d)(?=.*[a-zA-Z]).+$");
-		Matcher containsAlphaNumericMatcher = containsAlphaNumericPattern.matcher(str);
-
-		return isPureNumericMatcher.matches() || containsAlphaNumericMatcher.matches();
-	}
-
+	/**
+	 * 汉字转拼音取首字母全大写
+	 */
 	public static String toFullSpell(String chinese) {
 		HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
 		format.setCaseType(HanyuPinyinCaseType.UPPERCASE);