浏览代码

得分报告代码提交

wangchangsheng 1 年之前
父节点
当前提交
913a3c2851
共有 15 个文件被更改,包括 246 次插入98 次删除
  1. 3 1
      ims-common/src/main/java/com/ims/common/utils/FormulaUtils.java
  2. 9 0
      ims-service/ims-eval/src/main/java/com/ims/eval/controller/OrganizationEvaluationController.java
  3. 1 1
      ims-service/ims-eval/src/main/java/com/ims/eval/controller/OrganizationEvaluationInfoController.java
  4. 7 0
      ims-service/ims-eval/src/main/java/com/ims/eval/dao/OrganizationEvaluationMapper.java
  5. 0 2
      ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/response/EvaluationScoreCountDTO.java
  6. 32 0
      ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/response/EvaluationScoreInfoResDTO.java
  7. 1 6
      ims-service/ims-eval/src/main/java/com/ims/eval/schedule/EvaluationWarningSchedule.java
  8. 1 1
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IOrganizationEvaluationRuleService.java
  9. 2 0
      ims-service/ims-eval/src/main/java/com/ims/eval/service/IOrganizationEvaluationService.java
  10. 64 57
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateReportServiceImpl.java
  11. 5 1
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationInfoServiceImpl.java
  12. 1 1
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationRuleServiceImpl.java
  13. 69 27
      ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationServiceImpl.java
  14. 51 0
      ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationMapper.xml
  15. 0 1
      ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationRuleMapper.xml

+ 3 - 1
ims-common/src/main/java/com/ims/common/utils/FormulaUtils.java

@@ -81,7 +81,7 @@ public class FormulaUtils {
 			cell.setCellType(CellType.FORMULA);
 
 			double value = evaluator.evaluate(cell).getNumberValue() ;
-			return new BigDecimal(value).setScale(2, BigDecimal.ROUND_CEILING).doubleValue();
+			return new BigDecimal(value).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
 		} catch (Exception e) {
 			e.printStackTrace();
 			log.error("FormulaUtils==excel公式解析异常: ", e.getMessage());
@@ -91,4 +91,6 @@ public class FormulaUtils {
 		return 0.0;
 	}
 
+
+
 }

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

@@ -214,7 +214,16 @@ public class OrganizationEvaluationController {
 
 
 
+	@PostMapping(value = "/getEvalScoreInfo")
+	@ApiOperation(value = "考核打分表", notes = "考核打分表")
+	public R getEvaluationScoreInfo(@RequestParam(value = "id", required = false)String id,
+									@RequestParam(value = "indicatorId", required = false) String indicatorId,
+									@RequestParam(value = "binSection", required = false) String  binSection){
+		Map map = organizationEvaluationService.getEvaluationScoreInfo(id,binSection,indicatorId,"");
+		 return R.ok().data(map);
 
 
+	}
+
 
 }

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

@@ -144,7 +144,7 @@ public class OrganizationEvaluationInfoController {
 
 //
 
-		@PostMapping(value = "/calculation")
+	@PostMapping(value = "/calculation")
 	@ApiOperation(value = "批量新增(修改)", notes = "批量新增(修改)")
 	public R calculation(@RequestParam(value = "id", required = false)String id,
 						  @RequestParam(value = "indicatorId", required = false) String indicatorId ,

+ 7 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/dao/OrganizationEvaluationMapper.java

@@ -2,6 +2,7 @@ package com.ims.eval.dao;
 
 import com.ims.eval.entity.OrganizationEvaluation;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ims.eval.entity.dto.response.EvaluationScoreInfoResDTO;
 import com.ims.eval.entity.dto.response.OrganizationEvaluationResDTO;
 import org.apache.ibatis.annotations.Param;
 
@@ -23,4 +24,10 @@ public interface OrganizationEvaluationMapper extends BaseMapper<OrganizationEva
 
 	List<Map<String, Object>> selectCompanyActualValue(String binSection, String indicatorId, String evaluationType);
 
+
+	List<EvaluationScoreInfoResDTO> selectEvaluationScoreInfoList(@Param("id") String id,
+																  @Param("binSection") String binSection,
+																  @Param("indicatorId") String indicatorId,
+																  @Param("organizationEvaluationRuleId") String  organizationEvaluationRuleId);
+
 }

+ 0 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/response/EvaluationScoreCountDTO.java

@@ -1,7 +1,5 @@
 package com.ims.eval.entity.dto.response;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
 @Data

+ 32 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/response/EvaluationScoreInfoResDTO.java

@@ -0,0 +1,32 @@
+package com.ims.eval.entity.dto.response;
+
+import lombok.Data;
+
+@Data
+public class EvaluationScoreInfoResDTO {
+
+	private static final long serialVersionUID = 1L;
+
+	private String organizationEvaluationInfoId;
+	private String optionOrder;
+	private String organizationShortName;
+	private String organizationId;
+	private String organizationEvaluationRuleId;
+	private String binSection;
+	private String sectionName;
+	private String childName;
+	private String childCode;
+	private String optionCode;
+	private String optionName;
+	private String quantifiedValue;
+	private String nonQuantifiedValue;
+	private String indicatorId;
+	private String  indicatorName;
+
+
+
+
+
+
+
+}

+ 1 - 6
ims-service/ims-eval/src/main/java/com/ims/eval/schedule/EvaluationWarningSchedule.java

@@ -279,10 +279,5 @@ public class EvaluationWarningSchedule {
 		return false;
 	}
 
-	public static void main(String[] args){
-		Calendar cal = Calendar.getInstance();
-		System.out.println(cal.get(Calendar.YEAR));
-		System.out.println(cal.get(Calendar.MONTH) + 1);
-		System.out.println(cal.get(Calendar.DAY_OF_MONTH));
-	}
+
 }

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

@@ -32,7 +32,7 @@ public interface IOrganizationEvaluationRuleService extends IService<Organizatio
 	OrganizationEvaluationRule getByIdIsCheck(String id,Boolean isCheck,Boolean delFlag);
 
 
-	List<OrganizationEvaluationRule> getOrganizationEvaluationRuleByIds(String ids, String binSection);
+	List<OrganizationEvaluationRule> getOrganizationEvaluationRuleByIds(List<String> ids, String binSection);
 
 
 }

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

@@ -48,4 +48,6 @@ public interface IOrganizationEvaluationService extends IService<OrganizationEva
 
 
 	List<Map<String, Object>> getCompanyWarning(String evaluationType);
+
+	Map getEvaluationScoreInfo(String id,String  binSection,String indicatorId,String  organizationEvaluationRuleId);
 }

+ 64 - 57
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluateReportServiceImpl.java

@@ -49,6 +49,9 @@ public class EvaluateReportServiceImpl extends ServiceImpl<EvaluateReportMapper,
 	private IEvaluateReportInfoService evaluateReportInfoService;
 
 
+	@Autowired
+	private CacheContext cache;
+
 	//考评结果报告
 	//按照业务类型生成
 	//业务阶综合展示
@@ -58,6 +61,9 @@ public class EvaluateReportServiceImpl extends ServiceImpl<EvaluateReportMapper,
 	public boolean generateEvaluateReport(String organizationEvaluationId,boolean backroll) {
 
 
+		//业务ai扮酷
+		List<BinSection> sections =CacheContext.bsnList;
+
 		EvaluateReport evaluateReport = new EvaluateReport();
 		OrganizationEvaluation evaluation = organizationEvaluationService.getById(organizationEvaluationId);
 		if (null == evaluation) {
@@ -72,69 +78,68 @@ public class EvaluateReportServiceImpl extends ServiceImpl<EvaluateReportMapper,
 
 		//获取单位配置规则
 		List<String> evaluationRuleIds = Arrays.asList(evaluationRuleId.split(","));
-		List<OrganizationEvaluationRule> evaluationRuleList = organizationEvaluationRuleService.listByIds(evaluationRuleIds);
-
-		//按业务吧板块分类
-		Map<String, List<OrganizationEvaluationRule>> binSectionmap = evaluationRuleList.stream().collect(Collectors.groupingBy(OrganizationEvaluationRule::getBinSection));
-		for(Map.Entry<String, List<OrganizationEvaluationRule>> rulemap :binSectionmap.entrySet()){
-			//各板块明细存储
-			List<EvaluateReportInfo> evaluateRuleInfoList = new ArrayList<>();
-			//遍历各单位考评规则
-			for(OrganizationEvaluationRule rule :rulemap.getValue()){
+		for(BinSection bi : sections){
 
-				StringBuilder reportName = new StringBuilder();
-				if ("NDKP".equals(evaluation.getCheckCycle())) {
-					reportName.append("年度");
-				}
-				if ("JDKP".equals(evaluation.getCheckCycle())) {
-					reportName.append("季度");
-				}
-				if ("YDKP".equals(evaluation.getCheckCycle())) {
-					reportName.append("月度");
-				}
-				reportName.append(CacheContext.bsnIdObject.get(rule.getBinSection()).getSectionName());
-				if ("DWKP".equals(evaluation.getOrganizationType())) {
-					reportName.append("单位");
-				}
-				if ("BNMKP".equals(evaluation.getOrganizationType())) {
-					reportName.append("部门");
-				}
-				reportName.append("综合考核评分汇总表");
-
-				evaluateReport.setEvaluateReportName(reportName.toString());
-				evaluateReport.setOrganizationEvaluationId(evaluation.getId());
-				evaluateReport.setBinSection(rulemap.getKey());
-				evaluateReport.setOrganizationType(evaluation.getOrganizationType());
-				evaluateReport.setCheckCycle(evaluation.getCheckCycle());
-				evaluateReport.setYear(evaluation.getYear());
-				evaluateReport.setMonth(evaluation.getMonth());
-				evaluateReport.setCreateTime(new Date());
-				evaluateReport.setCreateBy("");//人员
-
-				List<EvaluateReport> oriReports  = list(evaluation.getId(),rulemap.getKey());
-				if(oriReports.size()>0 && !backroll){
-					throw new CustomException("综合考核评分汇总已生成");
-				} else {
-					for (EvaluateReport r : oriReports) {
-						boolean b = super.removeById(r.getId());
+			StringBuilder reportName = new StringBuilder();
+			if ("NDKP".equals(evaluation.getCheckCycle())) {
+				reportName.append("年度-");
+			}
+			if ("JDKP".equals(evaluation.getCheckCycle())) {
+				reportName.append("季度-");
+			}
+			if ("YDKP".equals(evaluation.getCheckCycle())) {
+				reportName.append("月度-");
+			}
+			reportName.append(bi.getSectionName());
+			if ("DWKP".equals(evaluation.getOrganizationType())) {
+				reportName.append("单位");
+			}
+			if ("BNMKP".equals(evaluation.getOrganizationType())) {
+				reportName.append("部门");
+			}
+			reportName.append("综合考核评分汇总表");
+
+			evaluateReport.setEvaluateReportName(reportName.toString());
+			evaluateReport.setOrganizationEvaluationId(evaluation.getId());
+			evaluateReport.setBinSection(bi.getId());
+			evaluateReport.setBinSectionName(bi.getSectionName());
+			evaluateReport.setOrganizationType(evaluation.getOrganizationType());
+			evaluateReport.setCheckCycle(evaluation.getCheckCycle());
+			evaluateReport.setYear(evaluation.getYear());
+			evaluateReport.setMonth(evaluation.getMonth());
+			evaluateReport.setCreateTime(new Date());
+			evaluateReport.setCreateBy("");//人员
+
+			List<EvaluateReport> oriReports  = list(evaluation.getId(),bi.getId());
+			if(oriReports.size()>0 && !backroll){
+				throw new CustomException("综合考核评分汇总已生成");
+			} else {
+				for (EvaluateReport r : oriReports) {
+					boolean b = super.removeById(r.getId());
+					if (!b) {
+						throw new CustomException("综合考核评分汇总重算失败");
+					}
+					List<EvaluateReportInfo> infolist = evaluateReportInfoService.listByReportId(r.getId());
+					if (null != infolist && infolist.size() > 0) {
+						List<String> infolistIds = infolist.stream().map(EvaluateReportInfo::getId).collect(Collectors.toList());
+						b = evaluateReportInfoService.removeByIds(infolistIds);
 						if (!b) {
 							throw new CustomException("综合考核评分汇总重算失败");
 						}
-						List<EvaluateReportInfo> infolist = evaluateReportInfoService.listByReportId(r.getId());
-						if (null != infolist && infolist.size() > 0) {
-							List<String> infolistIds = infolist.stream().map(EvaluateReportInfo::getId).collect(Collectors.toList());
-							b = evaluateReportInfoService.removeByIds(infolistIds);
-							if (!b) {
-								throw new CustomException("综合考核评分汇总重算失败");
-							}
-						}
 					}
 				}
-				boolean b = super.saveOrUpdate(evaluateReport);
+			}
+			boolean b = super.saveOrUpdate(evaluateReport);
 
-				if(!b){
-					throw new CustomException("综合考核评分汇总表存储失败");
-				}
+			if(!b){
+				throw new CustomException("综合考核评分汇总表存储失败");
+			}
+
+			List<OrganizationEvaluationRule> ruleList = organizationEvaluationRuleService.getOrganizationEvaluationRuleByIds(evaluationRuleIds,bi.getId());
+			//各板块明细存储
+			List<EvaluateReportInfo> evaluateRuleInfoList = new ArrayList<>();
+			//遍历各单位考评规则
+			for(OrganizationEvaluationRule rule :ruleList){
 
 				//获取考评股则
 				List<String> evaluateRuleIdList = Arrays.asList(rule.getEvaluateRuleId().split(","));
@@ -154,11 +159,12 @@ public class EvaluateReportServiceImpl extends ServiceImpl<EvaluateReportMapper,
 				}
 			}
 			for(EvaluateReportInfo info:evaluateRuleInfoList){
-				boolean b = evaluateReportInfoService.saveOrUpdate(info);
+				b = evaluateReportInfoService.saveOrUpdate(info);
 				if(!b){
 					throw new CustomException("综合考核评分汇总明细存储失败");
 				}
 			}
+
 		}
 
 		return true;
@@ -193,3 +199,4 @@ public class EvaluateReportServiceImpl extends ServiceImpl<EvaluateReportMapper,
 		return list;
 	}
 }
+

+ 5 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationInfoServiceImpl.java

@@ -257,7 +257,8 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 											}
 											log.info("计算公式为:"+dto.getFormula());
 											double score = FormulaUtils.calculateFormula(dto.getFormula());
-											if(StringUtils.inStringIgnoreCase("DF",dto.getOptionCode())){
+											if(dto.getOptionCode().equals("DF")||dto.getOptionCode().equals("DF2")
+												||dto.getOptionCode().equals("JHDF")){
 												totalScore = totalScore+score;
 											}
 											log.info(dto.getOrganizationShortName()+"|"+dto.getIndicatorName()+"|"+dto.getOptionCode()+"----------"+dto.getFormula()+"="+score);
@@ -359,4 +360,7 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 		}
 		return true;
 	}
+
+
+
 }

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

@@ -233,7 +233,7 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 	}
 
 	@Override
-	public List<OrganizationEvaluationRule> getOrganizationEvaluationRuleByIds(String ids, String binSection) {
+	public List<OrganizationEvaluationRule> getOrganizationEvaluationRuleByIds(List<String> ids, String binSection) {
 
 		QueryWrapper<OrganizationEvaluationRule> qw = new QueryWrapper<>();
 		if (StringUtils.isNotEmpty(ids)) {

+ 69 - 27
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationServiceImpl.java

@@ -9,10 +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;
+import com.ims.eval.entity.dto.response.*;
 import com.ims.eval.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -160,7 +157,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 		if ("NDKP".equals(entity.getCheckCycle())) {
 			oriList = list("", entity.getCheckCycle(), entity.getYear(), "");
 			responsibilityCode.append(entity.getYear()).append("_");
-			responsibilityCode.append(StringUtils.addZeroForStr(String.valueOf(oriList.size()+1), 4, "l"));
+			responsibilityCode.append(StringUtils.addZeroForStr(String.valueOf(oriList.size() + 1), 4, "l"));
 		}
 		if ("JDKP".equals(entity.getCheckCycle())) {
 			Date newDate = DateUtils.toDate(entity.getYear() + "-" + entity.getMonth() + "-01");
@@ -169,13 +166,13 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 			oriList = list("", entity.getCheckCycle(), entity.getYear(), month);
 			List<OrganizationEvaluation> count = list("", entity.getCheckCycle(), entity.getYear(), "");
 			responsibilityCode.append(entity.getYear()).append("_").append(month).append("_");
-			responsibilityCode.append(StringUtils.addZeroForStr(String.valueOf(count.size()+1), 4, "l"));
+			responsibilityCode.append(StringUtils.addZeroForStr(String.valueOf(count.size() + 1), 4, "l"));
 		}
 		if ("YDKP".equals(entity.getCheckCycle())) {
 			oriList = list("", entity.getCheckCycle(), entity.getYear(), entity.getMonth());
 			responsibilityCode.append(entity.getYear()).append("_").append(entity.getMonth()).append("_");
 			List<OrganizationEvaluation> count = list("", entity.getCheckCycle(), entity.getYear(), "");
-			responsibilityCode.append(StringUtils.addZeroForStr(String.valueOf(count.size()+1), 4, "l"));
+			responsibilityCode.append(StringUtils.addZeroForStr(String.valueOf(count.size() + 1), 4, "l"));
 		}
 
 
@@ -209,7 +206,6 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 	}
 
 
-
 	public boolean saveOrUpdate2(OrganizationEvaluation entity) {
 		//获取指定部门的规则
 		List<OrganizationEvaluationRule> list = organizationEvaluationRuleService.listByIsCheck(entity.getOrganizationType(), entity.getCheckCycle(), true, false);
@@ -234,7 +230,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 			oriList = list("", entity.getCheckCycle(), entity.getYear(), month);
 			List<OrganizationEvaluation> count = list("", entity.getCheckCycle(), entity.getYear(), "");
 			responsibilityCode.append(entity.getYear()).append("_").append(month).append("_");
-			responsibilityCode.append(StringUtils.addZeroForStr(String.valueOf(count.size()+1), 4, "l"));
+			responsibilityCode.append(StringUtils.addZeroForStr(String.valueOf(count.size() + 1), 4, "l"));
 		}
 
 
@@ -272,7 +268,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 	@Override
 	public boolean generateUnitEvaluationInfo(List<String> ids) {
 
-		for (String id :ids) {
+		for (String id : ids) {
 			OrganizationEvaluation organizationEvaluation = baseMapper.selectById(id);
 			if (null == organizationEvaluation) {
 				throw new CustomException("不存在考评记录");
@@ -301,7 +297,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 			for (String ruleId : evaluationRuleIds) {
 
 				//获取指定部门的规则
-				OrganizationEvaluationRule evaluationRule = organizationEvaluationRuleService.getByIdIsCheck(ruleId,true,false);
+				OrganizationEvaluationRule evaluationRule = organizationEvaluationRuleService.getByIdIsCheck(ruleId, true, false);
 				if (null == evaluationRule) {
 					throw new CustomException("不存在此单位规则权重配置");
 				}
@@ -344,11 +340,11 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 					info.setIsQuantified(r.getIsQuantified());
 					//
 					if ("JHZ".equals(r.getOptionCode()) || "MBZ".equals(r.getOptionCode()) || "DBZ".equals(r.getOptionCode())) {
-						if(null != objectMap.get(r.getId())){
+						if (null != objectMap.get(r.getId())) {
 							if ("是".equals(r.getIsQuantified())) {
-								info.setQuantifiedValue(null == objectMap.get(r.getId()) ? null :Double.valueOf(objectMap.get(r.getId()).toString()));
+								info.setQuantifiedValue(null == objectMap.get(r.getId()) ? null : Double.valueOf(objectMap.get(r.getId()).toString()));
 							} else {
-								info.setNonQuantifiedValue(null == objectMap.get(r.getId()) ?null :objectMap.get(r.getId()).toString());
+								info.setNonQuantifiedValue(null == objectMap.get(r.getId()) ? null : objectMap.get(r.getId()).toString());
 							}
 						}
 					}
@@ -368,7 +364,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 	@Override
 	public boolean generateUnitMonthEvaluation(List<String> ids) {
 
-		for (String id :ids) {
+		for (String id : ids) {
 			OrganizationEvaluation organizationEvaluation = baseMapper.selectById(id);
 			if (null == organizationEvaluation) {
 				throw new CustomException("不存在考评记录");
@@ -386,13 +382,13 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 			baseMapper.updateById(organizationEvaluation);
 
 			List<String> evaluationRuleIds = Arrays.asList(organizationEvaluation.getOrganizationEvaluationRuleId().split(","));
-			evaluationRuleIds =  evaluationRuleIds.stream().distinct().collect(Collectors.toList());
+			evaluationRuleIds = evaluationRuleIds.stream().distinct().collect(Collectors.toList());
 			for (String ruleId : evaluationRuleIds) {
 
 				//获取指定部门的规则
 				OrganizationEvaluationRule evaluationRule = organizationEvaluationRuleService.getById(ruleId);
-				if (null == evaluationRule|| evaluationRule.getDelFlag().equals(true)) {
-					throw new CustomException(evaluationRule.getOrganizationShortName()+"不存在此单位规则权重配置");
+				if (null == evaluationRule || evaluationRule.getDelFlag().equals(true)) {
+					throw new CustomException(evaluationRule.getOrganizationShortName() + "不存在此单位规则权重配置");
 				}
 				//获取对应的考评规(至少存在一条)
 				List<String> evaluateRuleIds = Arrays.asList(evaluationRule.getEvaluateRuleId().split(","));
@@ -413,14 +409,14 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 				List<String> ruleInfoIds = ruleInfos.stream().map(EvaluateRuleInfo::getId).collect(Collectors.toList());
 
 				//通过规则id获取指标明细项
-				List<EvaluateRuleInfoIndicatorDTO> resDTOS  =  evaluateRuleInfoService.listByIndicatorInfo(ruleInfoIds);
+				List<EvaluateRuleInfoIndicatorDTO> resDTOS = evaluateRuleInfoService.listByIndicatorInfo(ruleInfoIds);
 
 
 				if (null == resDTOS || resDTOS.size() <= 0) {
 					throw new CustomException("指标规则明细项为空");
 				}
-				for (EvaluateRuleInfoIndicatorDTO r: resDTOS){
-					if(null == r.getIndicatorDictionaryID()){
+				for (EvaluateRuleInfoIndicatorDTO r : resDTOS) {
+					if (null == r.getIndicatorDictionaryID()) {
 						continue;
 					}
 					OrganizationEvaluationInfo info = new OrganizationEvaluationInfo();
@@ -450,7 +446,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 	public boolean generateUnitSeasonEvaluation(List<String> ids) {
 
 
-		for (String id :ids) {
+		for (String id : ids) {
 			OrganizationEvaluation organizationEvaluation = baseMapper.selectById(id);
 			if (null == organizationEvaluation) {
 				throw new CustomException("不存在考评记录");
@@ -522,7 +518,6 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 	}
 
 
-
 	@Override
 	public List<OrganizationEvaluation> list(String organizationId, String checkCycle, String year, String month) {
 		QueryWrapper<OrganizationEvaluation> qw = new QueryWrapper<>();
@@ -544,7 +539,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 	}
 
 	@Override
-	public boolean editState(String id, String state,String instId) {
+	public boolean editState(String id, String state, String instId) {
 		OrganizationEvaluation evaluation = baseMapper.selectById(id);
 
 		if (StringUtils.isNotEmpty(state)) {
@@ -559,10 +554,10 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 
 
 	@Override
-	public OrganizationEvaluationResDTO getByidAndInfo(String id, String dept,HttpServletRequest request) {
+	public OrganizationEvaluationResDTO getByidAndInfo(String id, String dept, HttpServletRequest request) {
 		OrganizationEvaluationResDTO resDTO = baseMapper.selectById(id);
-		Map<String  ,List<OrganizationEvaluationInfoResDTO>> map  = organizationEvaluationInfoService.finishValueList(id,dept,request);
-		if(null != resDTO){
+		Map<String, List<OrganizationEvaluationInfoResDTO>> map = organizationEvaluationInfoService.finishValueList(id, dept, request);
+		if (null != resDTO) {
 			resDTO.setMap(map);
 		}
 		return resDTO;
@@ -590,4 +585,51 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 		}
 		return true;
 	}
+
+	@Override
+	public Map getEvaluationScoreInfo(String id, String binSection, String indicatorId, String organizationEvaluationRuleId) {
+		Map map = new HashMap();
+
+
+		Map<String, Object> indicatorNam = new LinkedHashMap<>();
+		//判断是
+		if (StringUtils.isNotEmpty(indicatorId)) {
+
+			List<EvaluationScoreInfoResDTO> listdt = baseMapper.selectEvaluationScoreInfoList(id, binSection, indicatorId, organizationEvaluationRuleId);
+
+			Boolean flag = true;
+			// 添加标题
+			if (flag) {
+				Map<String, List<EvaluationScoreInfoResDTO>> indicatorNamMap = listdt.stream().collect(Collectors.groupingBy(EvaluationScoreInfoResDTO::getIndicatorName));
+				Map<String, List<EvaluationScoreInfoResDTO>> childNameMap = listdt.stream().collect(Collectors.groupingBy(dto -> dto.getChildCode() + "," + dto.getChildName()));
+				for (Map.Entry<String, List<EvaluationScoreInfoResDTO>> indicatorNamEntry : indicatorNamMap.entrySet()) {
+					List<Object> onlist = new ArrayList<>();
+					for (Map.Entry<String, List<EvaluationScoreInfoResDTO>> childNameEntry : childNameMap.entrySet()) {
+						String[] zb = childNameEntry.getKey().split(",");
+						List<EvaluationScoreInfoResDTO> listdto = childNameEntry.getValue();
+						List<Object> oplist = new ArrayList<>();
+						for (EvaluationScoreInfoResDTO dto : listdto) {
+							Map<String, Object> opmap = new HashMap<>();
+							opmap.put("key", zb[0] + "_" + dto.getOptionCode());
+							opmap.put("name", dto.getOptionName());
+							oplist.add(oplist);
+						}
+						Map<String, Object> onmap = new HashMap<>();
+						onmap.put("key", zb[1]);
+						onmap.put("value", oplist);
+						onlist.add(onmap);
+					}
+					indicatorNam.put(indicatorNamEntry.getKey(), onlist);
+					map.put("title",indicatorNam);
+				}
+				flag = false;
+			}
+
+		} else {
+
+		}
+
+
+		return map;
+	}
 }

+ 51 - 0
ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationMapper.xml

@@ -82,4 +82,55 @@
         order by oi.child_code ASC
     </select>
 
+
+    <select id="selectEvaluationScoreInfoList" resultType="com.ims.eval.entity.dto.response.EvaluationScoreInfoResDTO">
+    select
+        oi.id organizationEvaluationInfoId,
+        d.option_order,
+        er.organization_short_name,
+        er.organization_id,
+        oi.organization_evaluation_rule_id,
+        bs.id bin_section,
+        i.id indicator_id,
+        i.indicator_name,
+        bs.section_name,
+        d.child_name,
+        d.child_code,
+        oi.option_code,
+        d.option_name,
+        oi.quantified_value,
+        oi.non_quantified_value
+
+    from organization_evaluation oe
+    left join organization_evaluation_info oi on oe.id = oi.organization_evaluation_id
+    left join indicator_dictionary d on oi.indicator_id = d.indicator_id and oi.indicator_dictionary_id = d.id
+    inner join organization_evaluation_rule er on er.id = oi.organization_evaluation_rule_id
+    inner join evaluate_rule_info ei on ei.id = oi.evaluate_rule_info_id
+    left join evaluate_rule ee on ee.id = ei.evaluate_rule_id
+    left join bin_section bs on ee.bin_section = bs.id
+    left join "indicator" i on i.id = oi.indicator_id and d.indicator_id = i.id
+    <where>
+
+        <if test="id !=null and id !=''">
+            oe.id  = #{id}
+        </if>
+
+        <if test="binSection !=null and binSection !=''">
+            and bs.id =  #{binSection}
+        </if>
+
+        <if test="indicatorId !=null and indicatorId !=''">
+            and oi.indicator_id =  #{indicatorId}
+        </if>
+
+        <if test="organizationEvaluationRuleId !=null and organizationEvaluationRuleId !=''">
+            and oi.organization_evaluation_rule_id =  #{organizationEvaluationRuleId}
+        </if>
+
+        and d.is_show = true
+
+    </where>
+        order by d.child_code,d.option_order asc
+    </select>
+
 </mapper>

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

@@ -134,9 +134,6 @@
                 <foreach item="item" collection="ids" separator="," open="(" close=")" index="">'${item}'</foreach>
             </if>
 
-
 
         </where>
         order by order_num asc