Browse Source

修改规则

wangchangsheng 2 years ago
parent
commit
28b5df5fbb

+ 10 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationRuleServiceImpl.java

@@ -20,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.io.Serializable;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -227,10 +228,19 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 			baseMapper.updateById(update);
 		}
 
+		List<String> evaluateRuleIds = Arrays.asList(entity.getEvaluateRuleId().split(","));
+		List<EvaluateRule> evaluateRuleList = evaluateRuleService.listAll(evaluateRuleIds);
+		List<String> binSections = evaluateRuleList.stream().map(EvaluateRule::getBinSection).collect(Collectors.toList());
+		List<String> binStages = evaluateRuleList.stream().map(EvaluateRule::getBinStage).collect(Collectors.toList());
+		entity.setBinSection(String.join(",", binSections));
+		entity.setBinStage(String.join(",", binStages));
+
 		//型增时判断当前组织是否存在同期考评配置
 		QueryWrapper<OrganizationEvaluationRule> qw = new QueryWrapper<>();
 		qw.lambda().eq(OrganizationEvaluationRule::getOrganizationId, entity.getOrganizationId());
 		qw.lambda().eq(OrganizationEvaluationRule::getEvaluationCycle, entity.getEvaluationCycle());
+//		qw.lambda().eq(OrganizationEvaluationRule::getBinSection, entity.getBinSection());
+
 		qw.lambda().eq(OrganizationEvaluationRule::getDelFlag, false);
 		List<OrganizationEvaluationRule> list = baseMapper.selectList(qw);
 		if (null != list && list.size() > 0) {

+ 4 - 4
ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationRuleMapper.xml

@@ -56,11 +56,11 @@
                 </if>
 
                 <if test="binSection !=null and binSection !=''">
-                    AND r.bin_section = #{binSection}
+                    AND r.bin_section like   CONCAT('%',#{binSection},'%')
                 </if>
 
                 <if test="binStage !=null and binStage !=''">
-                    AND r.bin_stage = #{binStage}
+                    AND r.bin_stage like   CONCAT('%',#{binStage},'%')
                 </if>
 
                 <if test="evaluationCycle !=null and evaluationCycle !=''">
@@ -100,11 +100,11 @@
             </if>
 
             <if test="binSection !=null and binSection !=''">
-                AND r.bin_section = #{binSection}
+                AND r.bin_section  like   CONCAT('%',#{binSection},'%')
             </if>
 
             <if test="binStage !=null and binStage !=''">
-                AND r.bin_stage = #{binStage}
+                AND r.bin_stage  like   CONCAT('%',#{binStage},'%')
             </if>
 
             <if test="evaluationCycle !=null and evaluationCycle !=''">