Browse Source

考评分析改造

chenminghua 1 year ago
parent
commit
3f93808ee1

+ 0 - 20
ims-service/ims-eval/src/main/java/com/ims/eval/controller/EvaluationWarningInfoController.java

@@ -1,20 +0,0 @@
-package com.ims.eval.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author wang
- * @since 2023-05-19
- */
-@RestController
-@RequestMapping("//evaluation-warning-info")
-public class EvaluationWarningInfoController {
-
-}

+ 20 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/controller/EvaluationWarningRuleController.java

@@ -1,10 +1,18 @@
 package com.ims.eval.controller;
 
 
+import com.ims.eval.entity.dto.result.R;
+import com.ims.eval.service.IEvaluationWarningRuleService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 /**
  * <p>
  *  前端控制器
@@ -14,7 +22,18 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-05-19
  */
 @RestController
-@RequestMapping("//evaluation-warning-rule")
+@RequestMapping("//evaluation/warning/rule")
 public class EvaluationWarningRuleController {
 
+	@Autowired
+	private IEvaluationWarningRuleService warningRuleService;
+
+	@ApiOperation(value = "考评预警规则")
+	@GetMapping(value = "list")
+	public R EvaluationWarningRuleList(
+		@RequestParam(value = "binSection", required = false) String binSection, //业务板块
+		@RequestParam(value = "ruleName", required = false) String ruleName) { //业务阶段
+		Map<String, Object> map = warningRuleService.warningRuleList(binSection, ruleName);
+		return R.ok().data(map);
+	}
 }

+ 3 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/dao/EvaluationWarningRuleMapper.java

@@ -3,6 +3,8 @@ package com.ims.eval.dao;
 import com.ims.eval.entity.EvaluationWarningRule;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.Map;
+
 /**
  * <p>
  *  Mapper 接口
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface EvaluationWarningRuleMapper extends BaseMapper<EvaluationWarningRule> {
 
+	Map<String, Object> selectWarningRule(String binSection, String ruleName);
 }

+ 9 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IEvaluationWarningRuleService.java

@@ -3,6 +3,8 @@ package com.ims.eval.service;
 import com.ims.eval.entity.EvaluationWarningRule;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +15,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IEvaluationWarningRuleService extends IService<EvaluationWarningRule> {
 
+	/**
+	 * 查询考评预警规则
+	 * @param binSection
+	 * @param ruleName
+	 * @return
+	 */
+    Map<String, Object> warningRuleList(String binSection, String ruleName);
 }

+ 16 - 15
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluatioinScoreCountServiceImpl.java

@@ -1,19 +1,12 @@
 package com.ims.eval.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ims.common.utils.DateUtils;
-import com.ims.eval.config.CustomException;
-import com.ims.eval.dao.BinSectionMapper;
 import com.ims.eval.dao.EvaluationScoreCountMapper;
-import com.ims.eval.entity.BinSection;
 import com.ims.eval.entity.EvaluationScoreCount;
-import com.ims.eval.service.IBinSectionService;
 import com.ims.eval.service.IEvaluationScoreCountService;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -59,7 +52,7 @@ public class EvaluatioinScoreCountServiceImpl extends ServiceImpl<EvaluationScor
 		Map<Object, List<Map<String, Object>>> collect = list.stream().collect(Collectors.groupingBy(c -> c.get("organization_name"), Collectors.toList()));
 		boolean flag = true;
 		List<Object> value = new ArrayList<>();
-		List<Object> title = new ArrayList<>();
+		Map<String, Object> title = new HashMap<>();
 		for (Map.Entry<Object, List<Map<String, Object>>> entry : collect.entrySet()) {
 			List<Map<String, Object>> v = entry.getValue();
 			Map<String, Object> mp = new HashMap<>();
@@ -69,16 +62,24 @@ public class EvaluatioinScoreCountServiceImpl extends ServiceImpl<EvaluationScor
 				mp.put("organization_name", item.get("organization_name"));
 				mp.put(item.get("indicator_code").toString() + "_flag", item.get("score") == item.get("standard_score") ? "0"
 					: Double.valueOf(item.get("score").toString()) > Double.valueOf(item.get("standard_score").toString()) ? "1" : "-1");
+			}
+			value.add(mp);
 
-				if (flag) {
-					Map<String, Object> tl = new HashMap<>();
-					tl.put("key", item.get("indicator_name"));
-					tl.put("code", item.get("indicator_code").toString() + "_score");
-					title.add(tl);
+			// 添加标题
+			if (flag) {
+				Map<Object, List<Map<String, Object>>> types = v.stream().collect(Collectors.groupingBy(c -> c.get("type_name")));
+				for (Map.Entry<Object, List<Map<String, Object>>> e : types.entrySet()) {
+					List<Object> ls = new ArrayList<>();
+					e.getValue().forEach(el -> {
+						Map<String, Object> mt = new HashMap<>();
+						mt.put("key", el.get("indicator_name"));
+						mt.put("code", el.get("indicator_code").toString() + "_score");
+						ls.add(mt);
+					});
+					title.put((String) e.getKey(), ls);
 				}
+				flag = false;
 			}
-			flag = false;
-			value.add(mp);
 		}
 
 		result.put("title", title);

+ 7 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluationWarningRuleServiceImpl.java

@@ -6,6 +6,8 @@ import com.ims.eval.service.IEvaluationWarningRuleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +19,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class EvaluationWarningRuleServiceImpl extends ServiceImpl<EvaluationWarningRuleMapper, EvaluationWarningRule> implements IEvaluationWarningRuleService {
 
+	@Override
+	public Map<String, Object> warningRuleList(String binSection, String ruleName) {
+		Map<String, Object> map = baseMapper.selectWarningRule(binSection, ruleName);
+		return map;
+	}
 }

+ 56 - 0
ims-service/ims-eval/src/main/resources/mappers/EvaluateWarningRuleMapper.xml.xml

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ims.eval.dao.EvaluationWarningRuleMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.ims.eval.entity.EvaluationWarningRule">
+        <id column="id" property="id" />
+        <result column="bin_section" property="binSection" />
+        <result column="indicator_id" property="binStage" />
+        <result column="indicator_info" property="indicatorInfo" />
+        <result column="bin_stage" property="binStage" />
+        <result column="rule" property="rule" />
+        <result column="grade" property="grade" />
+        <result column="rule_name" property="ruleName" />
+        <result column="rule_des" property="ruleDes" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="enable" property="enable" />
+    </resultMap>
+
+
+    <select id="selectWarningRule" resultType="java.util.Map">
+        SELECT
+        er.*,
+
+        FROM
+        evaluation_warning_rule er
+        LEFT JOIN evaluation_portal_attach ea ON ep.id = ea.portal_id
+        LEFT JOIN bin_section bs ON ep.bin_section = bs.section_code
+        <where>
+
+            <if test="binSection !=null and binSection !=''">
+                AND ep.bin_section = #{binSection}
+            </if>
+            <if test="year !=null and year !=''">
+                AND ep.year = #{year}
+            </if>
+
+            <if test="season !=null and season !=''">
+                AND ep.season = #{season}
+            </if>
+
+            <if test="season ==null">
+                AND ep.season is null
+            </if>
+
+        </where>
+
+        ORDER BY SCORE DESC
+
+    </select>
+
+
+</mapper>

+ 3 - 1
ims-service/ims-eval/src/main/resources/mappers/EvaluationScoreCountMapper.xml

@@ -47,7 +47,9 @@
         i.indicator_name,
         i.indicator_code,
         i.unit,
-        ei.standard_score
+        ei.standard_score,
+        t.type_name,
+        t.type_code
         FROM
         evaluation_score_count es
         LEFT JOIN indicator i ON es.indicator_id = i.id