wangchangsheng пре 1 година
родитељ
комит
f035f1b083

+ 3 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/controller/EvaluateRuleInfoController.java

@@ -41,8 +41,9 @@ public class EvaluateRuleInfoController {
 	public R list(@RequestParam(value = "id", required = false) String id,
 				  @RequestParam(value = "des", required = false) String des,
 				  @RequestParam(value = "indicatorId", required = false) String indicatorId,
-				  @RequestParam(value = "evaluateRuleId", required = false) String evaluateRuleId) {
-		List<EvaluateRuleInfo> list = evaluateRuleInfoService.list(id, des, indicatorId, evaluateRuleId);
+				  @RequestParam(value = "evaluateRuleId", required = false) String evaluateRuleId,
+				  @RequestParam(value = "indicatorName", required = false) String indicatorName) {
+		List<EvaluateRuleInfo> list = evaluateRuleInfoService.list(id, des, indicatorId, evaluateRuleId,indicatorName);
 		return R.ok().data(list);
 	}
 

+ 6 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/dao/EvaluateRuleInfoMapper.java

@@ -2,6 +2,7 @@ package com.ims.eval.dao;
 
 import com.ims.eval.entity.EvaluateRuleInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ims.eval.entity.dto.response.EvaluateRuleInfoIndicatorDTO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -19,6 +20,10 @@ public interface EvaluateRuleInfoMapper extends BaseMapper<EvaluateRuleInfo> {
 	List<EvaluateRuleInfo> selectListAll(@Param("id") String id,
 										 @Param("des") String des,
 										 @Param("indicatorId") String indicatorId,
-										 @Param("evaluateRuleId") String evaluateRuleId);
+										 @Param("evaluateRuleId") String evaluateRuleId,
+										 @Param("indicatorName") String indicatorName);
+
+
+	List<EvaluateRuleInfoIndicatorDTO> selectlistByIndicatorInfo(@Param("ruleInfoIds") List<String> ruleInfoIds);
 
 }

+ 6 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/entity/OrganizationEvaluationInfo.java

@@ -106,4 +106,10 @@ public class OrganizationEvaluationInfo extends Model {
 	private String  childCode;
 
 
+	/**
+	 * 考评规则明细id
+	 */
+	private String evaluateRuleInfoId;
+
+
 }

+ 48 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/response/EvaluateRuleInfoIndicatorDTO.java

@@ -0,0 +1,48 @@
+package com.ims.eval.entity.dto.response;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "股则指标明细", description = "股则指标明细")
+public class EvaluateRuleInfoIndicatorDTO {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 规则明细id
+	 */
+	private String id;
+
+	/**
+	 *指标
+	 */
+	private String indicatorId;
+
+	/**
+	 * 指标id
+	 */
+	private String indicatorDictionaryID;
+
+	/**
+	 * 选项编码
+	 */
+	private String optionCode;
+
+	/**
+	 * 能否量化
+	 */
+	private String isQuantified;
+
+	/**
+	 * 选项名称
+	 */
+	private String optionName;
+
+	/**
+	 * 子指标code
+	 */
+	private String  childCode;
+
+
+
+}

+ 4 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluateRuleInfoService.java

@@ -2,6 +2,7 @@ package com.ims.eval.service;
 
 import com.ims.eval.entity.EvaluateRuleInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ims.eval.entity.dto.response.EvaluateRuleInfoIndicatorDTO;
 
 import java.util.List;
 
@@ -15,10 +16,12 @@ import java.util.List;
  */
 public interface IEvaluateRuleInfoService extends IService<EvaluateRuleInfo> {
 
-	List<EvaluateRuleInfo> list(String id, String des, String indicatorId,String evaluateRuleId);
+	List<EvaluateRuleInfo> list(String id, String des, String indicatorId,String evaluateRuleId,String indicatorName);
 
 
 
 	List<EvaluateRuleInfo> list(List<String> evaluateRuleIds);
 
+	List<EvaluateRuleInfoIndicatorDTO> listByIndicatorInfo(List<String> ruleInfoIds);
+
 }

+ 9 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateRuleInfoServiceImpl.java

@@ -5,6 +5,7 @@ import com.ims.common.utils.StringUtils;
 import com.ims.eval.config.CustomException;
 import com.ims.eval.entity.EvaluateRuleInfo;
 import com.ims.eval.dao.EvaluateRuleInfoMapper;
+import com.ims.eval.entity.dto.response.EvaluateRuleInfoIndicatorDTO;
 import com.ims.eval.service.IEvaluateRuleInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -24,9 +25,9 @@ import java.util.List;
 public class EvaluateRuleInfoServiceImpl extends ServiceImpl<EvaluateRuleInfoMapper, EvaluateRuleInfo> implements IEvaluateRuleInfoService {
 
 	@Override
-	public List<EvaluateRuleInfo> list(String id, String des, String indicatorId, String evaluateRuleId) {
+	public List<EvaluateRuleInfo> list(String id, String des, String indicatorId, String evaluateRuleId,String indicatorName) {
 
-		List<EvaluateRuleInfo> list =  baseMapper.selectListAll(id, des, indicatorId, evaluateRuleId);
+		List<EvaluateRuleInfo> list =  baseMapper.selectListAll(id, des, indicatorId, evaluateRuleId,indicatorName);
 
 		return list;
 	}
@@ -42,6 +43,12 @@ public class EvaluateRuleInfoServiceImpl extends ServiceImpl<EvaluateRuleInfoMap
 		return list;
 	}
 
+	@Override
+	public List<EvaluateRuleInfoIndicatorDTO> listByIndicatorInfo(List<String> ruleInfoIds) {
+		List<EvaluateRuleInfoIndicatorDTO> list = baseMapper.selectlistByIndicatorInfo(ruleInfoIds);
+		return list;
+	}
+
 
 	@Override
 	public boolean saveOrUpdate(EvaluateRuleInfo entity) {

+ 15 - 10
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationServiceImpl.java

@@ -9,6 +9,7 @@ import com.ims.eval.config.CustomException;
 import com.ims.eval.dao.ResponsibilityIndicatorInfoMapper;
 import com.ims.eval.entity.*;
 import com.ims.eval.dao.OrganizationEvaluationMapper;
+import com.ims.eval.entity.dto.response.EvaluateRuleInfoIndicatorDTO;
 import com.ims.eval.entity.dto.response.IndicatorResDTO;
 import com.ims.eval.entity.dto.response.OrganizationEvaluationInfoResDTO;
 import com.ims.eval.entity.dto.response.OrganizationEvaluationResDTO;
@@ -384,7 +385,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 			baseMapper.updateById(organizationEvaluation);
 
 			List<String> evaluationRuleIds = Arrays.asList(organizationEvaluation.getOrganizationEvaluationRuleId().split(","));
-
+			evaluationRuleIds =  evaluationRuleIds.stream().distinct().collect(Collectors.toList());
 			for (String ruleId : evaluationRuleIds) {
 
 				//获取指定部门的规则
@@ -396,32 +397,36 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 				List<String> evaluateRuleIds = Arrays.asList(evaluationRule.getEvaluateRuleId().split(","));
 				List<EvaluateRule> evaluateRuleList = evaluateRuleService.listAll(evaluateRuleIds);
 				if (null == evaluateRuleList || evaluateRuleList.size() <= 0) {
-					throw new CustomException("未获取到配置的规则");
+					//throw new CustomException("未获取到配置的规则");
+					continue;
 				}
 				//获取考评规则的id
 				List<String> ruleIds = evaluateRuleList.stream().map(EvaluateRule::getId).collect(Collectors.toList());
 				//通过规则id获取对应的规则明细
 				List<EvaluateRuleInfo> ruleInfos = evaluateRuleInfoService.list(ruleIds);
 				if (null == ruleInfos || ruleInfos.size() <= 0) {
-					throw new CustomException("规则明细配置为空");
+//					throw new CustomException("规则明细配置为空");
+					continue;
 				}
-				//获取考评规则中的指标id
-				List<String> indicatorIds = ruleInfos.stream().map(EvaluateRuleInfo::getIndicatorId).collect(Collectors.toList());
+				//获取考评规则中的规则明细id
+				List<String> ruleInfoIds = ruleInfos.stream().map(EvaluateRuleInfo::getId).collect(Collectors.toList());
+
+				//通过规则id获取指标明细项
+				List<EvaluateRuleInfoIndicatorDTO> resDTOS  =  evaluateRuleInfoService.listByIndicatorInfo(ruleInfoIds);
+
 
-				//通过指标id获取指标明细项
-				List<IndicatorResDTO> resDTOS = iIndicatorService.listByIds(indicatorIds);
 				if (null == resDTOS || resDTOS.size() <= 0) {
 					throw new CustomException("指标规则明细项为空");
 				}
-
-				for (IndicatorResDTO r: resDTOS){
+				for (EvaluateRuleInfoIndicatorDTO r: resDTOS){
 					if(null == r.getIndicatorDictionaryID()){
 						continue;
 					}
 					OrganizationEvaluationInfo info = new OrganizationEvaluationInfo();
 					info.setOrganizationEvaluationId(organizationEvaluation.getId());
 					info.setOrganizationEvaluationRuleId(ruleId);
-					info.setIndicatorId(r.getId());
+					info.setEvaluateRuleInfoId(r.getId());
+					info.setIndicatorId(r.getIndicatorId());
 					info.setChildCode(r.getChildCode());
 					info.setIndicatorDictionaryId(r.getIndicatorDictionaryID());
 					info.setOptionCode(r.getOptionCode());

+ 27 - 0
ims-service/ims-eval/src/main/resources/mappers/EvaluateRuleInfoMapper.xml

@@ -42,12 +42,39 @@
                 AND ri.indicator_id = #{indicatorId}
             </if>
 
+            <if test="indicatorName !=null and indicatorName !=''">
+                AND i.indicator_name  like   CONCAT('%',#{indicatorName},'%')
+            </if>
+
             <if test="evaluateRuleId !=null and evaluateRuleId !=''">
                 AND ri.evaluate_rule_id = #{evaluateRuleId}
             </if>
+
+            order by ri.order_num asc
         </where>
 
 
     </select>
+    <select id="selectlistByIndicatorInfo"
+            resultType="com.ims.eval.entity.dto.response.EvaluateRuleInfoIndicatorDTO">
+
+        SELECT
+        ri.id id,
+        i.id indicatorId,
+        i.is_quantified isQuantified,
+        d.id indicatorDictionaryID,
+        d.option_code optionCode,
+        d.option_name optionName,
+        d.child_code
+        FROM
+        evaluate_rule_info ri
+        LEFT JOIN INDICATOR i.id = ri.indicator_id
+        LEFT JOIN indicator_dictionary d ON i.ID = d.indicator_id
+        <where>
+            AND ri.id in
+            <foreach item="item" collection="ruleInfoIds" separator="," open="(" close=")" index="">'${item}'</foreach>
+        </where>
+
+    </select>
 
 </mapper>

+ 2 - 1
ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationInfoMapper.xml

@@ -52,6 +52,7 @@
         inner join organization_evaluation_rule oer on oer.id = ei.organization_evaluation_rule_id
         inner join organization_evaluation oe on oe.id = ei.organization_evaluation_id
         left join indicator i on ei.indicator_id = i.id
+        left join  evaluate_rule_info ri on ri.indicator_id = i.id
         left join bin_stage be on i.bin_stage = be.id
         left join bin_section bn on i.bin_section = bn.id
         left join indicator_type it on i.indicator_type_id = it.id
@@ -78,7 +79,7 @@
             and id.option_code not in ('CZ','CZMAX','CZMIN','LRGXKLMAX','LRGXKLMIN','DWQWLRMAX','DWQWLRMIN')
         </where>
 
-        order by oer.organization_id,dd.data_key,i.id,id.child_code,id.option_code desc
+        order by oer.organization_id, bn.order_num,ri.order_num,id.child_code,id.option_code asc
 
     </select>