瀏覽代碼

添加专项指标新增功能 修改

wangchangsheng 1 年之前
父節點
當前提交
ff7449d01b

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

@@ -154,15 +154,15 @@ public class OrganizationEvaluationInfoController {
 
 	/**
 	 * 添加指标
-	 * @param addEvaluationInfoDTO
+	 * @param addEvaluationInfoDTOs
 	 * @return
 	 */
 	@PostMapping(value = "/addEvaluationInfo")
 	@ApiOperation(value = "新增重点事项、管理事项", notes = "新增重点事项、管理事项")
-	public R addEvaluationInfo(@RequestBody AddEvaluationInfoDTO addEvaluationInfoDTO) {
+	public R addEvaluationInfo(@RequestBody List<AddEvaluationInfoDTO> addEvaluationInfoDTOs) {
 
 		try {
-			boolean b = organizationEvaluationInfoService.addEvaluationInfo(addEvaluationInfoDTO);
+			boolean b = organizationEvaluationInfoService.addEvaluationInfo(addEvaluationInfoDTOs);
 			if (b) {
 				return R.ok().data(b);
 			} else {

+ 2 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/request/AddEvaluationInfoDTO.java

@@ -11,7 +11,7 @@ public class AddEvaluationInfoDTO {
 
 
 	/**
-	 * 组织id
+	 * 登录人组织id
 	 */
 	private String organizationId;
 
@@ -37,7 +37,7 @@ public class AddEvaluationInfoDTO {
 	private String binStage;
 
 	/**
-	 * 指标想属性
+	 * 指标项值(key,value)
 	 */
 	private Map<String,Object> optionMap;
 

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

@@ -41,7 +41,7 @@ public interface IOrganizationEvaluationInfoService extends IService<Organizatio
 
 	boolean updateEvaluationInfo(List<JSONObject> jsonObjects);
 
-	boolean addEvaluationInfo(AddEvaluationInfoDTO addEvaluationInfoDTO);
+	boolean addEvaluationInfo(List<AddEvaluationInfoDTO> addEvaluationInfoDTOs);
 
 	byte[] downloadExcel(String organizationEvaluationId, String indicatorId, String binSection, String binStage, HttpServletRequest request)throws Exception;
 

+ 51 - 48
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationInfoServiceImpl.java

@@ -770,66 +770,69 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 
 	@Transactional
 	@Override
-	public boolean addEvaluationInfo(AddEvaluationInfoDTO addEvaluationInfoDTO) {
-		//1.获取考评id(获取此考评记录)
-		String organizationEvaluationId = addEvaluationInfoDTO.getOrganizationEvaluationId();
+	public boolean addEvaluationInfo(List<AddEvaluationInfoDTO> addEvaluationInfoDTOs) {
 
-		if (StringUtils.isEmpty(organizationEvaluationId)) {
-			throw new CustomException("保存失败");
-		}
-		OrganizationEvaluation organizationEvaluation = organizationEvaluationService.getById(organizationEvaluationId);
+		for (AddEvaluationInfoDTO addEvaluationInfoDTO : addEvaluationInfoDTOs) {
 
-		if (null == organizationEvaluation) {
-			throw new CustomException("保存失败");
-		}
-		organizationEvaluation.getCheckCycle();
+			//1.获取考评id(获取此考评记录)
+			String organizationEvaluationId = addEvaluationInfoDTO.getOrganizationEvaluationId();
 
-		//2.获取组织id 和所属板块(判断该板块下是否有此组织的考核)
-		String organizationType = organizationEvaluation.getOrganizationType();//考评类型 DWKP
-		String checkCycle = organizationEvaluation.getCheckCycle();//考评周期-月度、季度
-		String year = organizationEvaluation.getYear();//年份
+			if (StringUtils.isEmpty(organizationEvaluationId)) {
+				throw new CustomException("保存失败");
+			}
+			OrganizationEvaluation organizationEvaluation = organizationEvaluationService.getById(organizationEvaluationId);
 
-		//3.查询当前对应的考评权重(需要考评的单位)
-		List<OrganizationEvaluationRule> evaluationRules = organizationEvaluationRuleService.getOrganizationEvaluationRuleByYearAndCycle(organizationType, checkCycle, year, addEvaluationInfoDTO.getOrganizationId());
-		if (null == evaluationRules || evaluationRules.size() <= 0) {
-			throw new CustomException("当前组织没有参与考评");
-		}
-		OrganizationEvaluationRule evaluationRule = evaluationRules.get(0);
+			if (null == organizationEvaluation) {
+				throw new CustomException("保存失败");
+			}
+			organizationEvaluation.getCheckCycle();
 
-		//4.获取指标信息
-		List<String> indicatorIds = Arrays.asList(addEvaluationInfoDTO.getIndicatorId().split(","));
-		List<IndicatorResDTO> dictionaryList = indicatorService.listByIds(indicatorIds);
-		Map<String, List<IndicatorResDTO>> groupedChildCode = dictionaryList.stream()
-			.collect(Collectors.groupingBy(d -> d.getChildCode() + "," + d.getChildName()));
-		Map<String, Object> optionMap = addEvaluationInfoDTO.getOptionMap();
+			//2.获取组织id 和所属板块(判断该板块下是否有此组织的考核)
+			String organizationType = organizationEvaluation.getOrganizationType();//考评类型 DWKP
+			String checkCycle = organizationEvaluation.getCheckCycle();//考评周期-月度、季度
+			String year = organizationEvaluation.getYear();//年份
 
-		//5.保存指标
-		for (Map.Entry<String, List<IndicatorResDTO>> childCodeEntry : groupedChildCode.entrySet()) {
+			//3.查询当前对应的考评权重(需要考评的单位)
+			List<OrganizationEvaluationRule> evaluationRules = organizationEvaluationRuleService.getOrganizationEvaluationRuleByYearAndCycle(organizationType, checkCycle, year, addEvaluationInfoDTO.getOrganizationId());
+			if (null == evaluationRules || evaluationRules.size() <= 0) {
+				throw new CustomException("当前组织没有参与考评");
+			}
+			OrganizationEvaluationRule evaluationRule = evaluationRules.get(0);
 
-			for (IndicatorResDTO d : childCodeEntry.getValue()) {
-				OrganizationEvaluationInfo info = new OrganizationEvaluationInfo();
-				info.setOrganizationEvaluationId(addEvaluationInfoDTO.getOrganizationEvaluationId());
-				info.setOrganizationEvaluationRuleId(evaluationRule.getId());
-				info.setIndicatorId(addEvaluationInfoDTO.getIndicatorId());
-				info.setIndicatorDictionaryId(d.getId());
-				info.setOptionCode(d.getOptionCode());
-				info.setIsQuantified(d.getIsQuantified());
-				if (null != optionMap.get(d.getChildCode()+"_"+d.getOptionCode())) {
-					String value = String.valueOf(optionMap.get(d.getOptionCode()));
-					info.setNonQuantifiedValue(value);
-					if (d.getIsQuantified2()) {
-						info.setQuantifiedValue(Double.valueOf(value));
+			//4.获取指标信息
+			List<String> indicatorIds = Arrays.asList(addEvaluationInfoDTO.getIndicatorId().split(","));
+			List<IndicatorResDTO> dictionaryList = indicatorService.listByIds(indicatorIds);
+			Map<String, List<IndicatorResDTO>> groupedChildCode = dictionaryList.stream()
+				.collect(Collectors.groupingBy(d -> d.getChildCode() + "," + d.getChildName()));
+			Map<String, Object> optionMap = addEvaluationInfoDTO.getOptionMap();
+
+			//5.保存指标
+			for (Map.Entry<String, List<IndicatorResDTO>> childCodeEntry : groupedChildCode.entrySet()) {
+
+				for (IndicatorResDTO d : childCodeEntry.getValue()) {
+					OrganizationEvaluationInfo info = new OrganizationEvaluationInfo();
+					info.setOrganizationEvaluationId(addEvaluationInfoDTO.getOrganizationEvaluationId());
+					info.setOrganizationEvaluationRuleId(evaluationRule.getId());
+					info.setIndicatorId(addEvaluationInfoDTO.getIndicatorId());
+					info.setIndicatorDictionaryId(d.getId());
+					info.setOptionCode(d.getOptionCode());
+					info.setIsQuantified(d.getIsQuantified());
+					if (null != optionMap.get(d.getChildCode() + "_" + d.getOptionCode())) {
+						String value = String.valueOf(optionMap.get(d.getOptionCode()));
+						info.setNonQuantifiedValue(value);
+						if (d.getIsQuantified2()) {
+							info.setQuantifiedValue(Double.valueOf(value));
+						}
 					}
+					info.setChildCode(d.getChildCode());
+					info.setDeptId(d.getDeptId());
+					info.setCreateTime(new Date());
+					this.saveOrUpdate(info);
 				}
-				info.setChildCode(d.getChildCode());
-				info.setDeptId(d.getDeptId());
-				info.setCreateTime(new Date());
-				this.saveOrUpdate(info);
 			}
 		}
 
-
-		return false;
+		return true;
 	}
 
 	//todo  后续添加需要计算的指标项