فهرست منبع

数据填报页面改造 新增修改方法

wangchangsheng 1 سال پیش
والد
کامیت
778e2eda4c

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

@@ -1,6 +1,7 @@
 package com.ims.eval.controller;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.ims.eval.entity.OrganizationEvaluationInfo;
 import com.ims.eval.entity.dto.response.OrganizationEvaluationInfoResDTO;
 import com.ims.eval.entity.dto.result.R;
@@ -90,6 +91,33 @@ public class OrganizationEvaluationInfoController {
 
 
 
+	/**
+	 * 批量修改
+	 *
+	 * @param jsonObjects
+	 * @return
+	 */
+
+	//@ImsPreAuth("eval:organizationEvaluationInfo:edit")
+	@PostMapping(value = "/updateEvaluationInfo")
+	@ApiOperation(value = "批量新增(修改)", notes = "批量新增(修改)")
+	public R updateEvaluationInfo(@RequestBody List<JSONObject> jsonObjects) {
+
+		try {
+			boolean b = organizationEvaluationInfoService.updateEvaluationInfo(jsonObjects);
+			if (b) {
+				return R.ok().data(b);
+			} else {
+				return R.error().data("保存失败!");
+			}
+		} catch (Exception e) {
+			log.error("错误", e);
+			return R.customError(e.getMessage()).data("失败!");
+		}
+	}
+
+
+
 
 
 	/**

+ 4 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/dao/OrganizationEvaluationInfoMapper.java

@@ -61,4 +61,8 @@ public interface OrganizationEvaluationInfoMapper extends BaseMapper<Organizatio
 	List<OrganizationEvaluationInfoResDTO> selectEvaluationInfoList(@Param("organizationEvaluationId") String organizationEvaluationId,
 											@Param("indicatorId") String indicatorId);
 
+
+
+//	void updateEvaluationInfo(@Param("evaluationInfos")  List<OrganizationEvaluationInfo> evaluationInfos);
+
 }

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

@@ -101,7 +101,10 @@ public class IndicatorDictionary extends Model {
 	private Boolean isShow;
 
 
-
+	/**
+	 * 是否量化
+	 */
+	private Boolean  isQuantified;
 
 
 }

+ 5 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/response/OrganizationEvaluationInfoResDTO.java

@@ -30,6 +30,11 @@ public class OrganizationEvaluationInfoResDTO {
 	 * 能否量化
 	 */
 	private String isQuantified;
+
+	/**
+	 * 能否量化2
+	 */
+	private Boolean  isQuantified2;
 	/**
 	 * 业务阶段
 	 */

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

@@ -1,5 +1,6 @@
 package com.ims.eval.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ims.eval.entity.OrganizationEvaluationInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ims.eval.entity.dto.response.OrganizationEvaluationInfoResDTO;
@@ -35,4 +36,6 @@ public interface IOrganizationEvaluationInfoService extends IService<Organizatio
 
 	Map getEvaluationInfoList(String organizationEvaluationId, String indicatorId,HttpServletRequest request);
 
+	boolean updateEvaluationInfo(List<JSONObject> jsonObjects);
+
 }

+ 39 - 13
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationInfoServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ims.eval.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ims.common.utils.FormulaUtils;
 import com.ims.common.utils.StringUtils;
 import com.ims.eval.config.CustomException;
@@ -347,24 +348,13 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 			Map indicatormap = new HashMap();
 			List<OrganizationEvaluationInfoResDTO> dtoList = entry.getValue();
 
-
-//			Map<String, OrganizationEvaluationInfoResDTO> resultMap = dtoList.stream()
-//				.collect(Collectors.toMap(
-//					dto -> dto.getChildCode() + "_" + dto.getOptionCode(),
-//					dto -> dto));
-
 			Map<String, OrganizationEvaluationInfoResDTO> resultMap = dtoList.stream()
 				.collect(Collectors.toMap(
 					dto -> dto.getChildCode() + "_" + dto.getOptionCode(),
 					dto -> dto,
 					(oldValue, newValue) -> oldValue)); // 解决键重复的情况
-
-
-
-
 			boolean mark = true;//标记给公司名赋值
 
-
 			//将子指标分组
 			Map<String, List<IndicatorDictionary>> groupedChildCode = dictionaryList.stream()
 				.collect(Collectors.groupingBy(d -> d.getChildCode() + "," + d.getChildName()));
@@ -381,7 +371,8 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 						if (!d.getIsShow()) {
 							continue;
 						}
-						titlemap.put(d.getChildCode()+"_"+d.getOptionCode(), d.getOptionName());//名称
+						titlemap.put("key", d.getOptionName());//名称
+						titlemap.put("code",d.getChildCode()+"_"+d.getOptionCode());//名称
 						titleArray.add(titlemap);
 
 					}
@@ -392,7 +383,6 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 				data.put("title", title);
 			}
 
-
 			for (IndicatorDictionary d : dictionaryList) {
 				if (!d.getIsShow()) {
 					continue;
@@ -409,6 +399,8 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 				indicatormap.put(d.getChildCode() + "_" + d.getOptionCode(), null == resultMap.get(d.getChildCode()+"_"+d.getOptionCode()).getNonQuantifiedValue() ? "" : resultMap.get(d.getChildCode()+"_"+d.getOptionCode()).getNonQuantifiedValue());
 				//指标id
 				indicatormap.put("ID_" + d.getChildCode() + "_" + d.getOptionCode(), resultMap.get(d.getChildCode()+"_"+d.getOptionCode()).getId());
+
+				indicatormap.put("IS_LH_" +d.getChildCode() + "_" + d.getOptionCode(),resultMap.get(d.getChildCode()+"_"+d.getOptionCode()).getIsQuantified2());
 			}
 			mapList.add(indicatormap);
 		}
@@ -417,6 +409,40 @@ public class OrganizationEvaluationInfoServiceImpl extends ServiceImpl<Organizat
 		return data;
 	}
 
+	@Transactional
+	@Override
+	public boolean updateEvaluationInfo(List<JSONObject> jsonObjects) {
+		for (JSONObject json :jsonObjects){
+
+			Map<String,Object > idMap = new HashMap();
+			Map valueMap =  new HashMap();
+			for (String key : json.keySet()) {
+				Object value = json.get(key);
+				if(key.startsWith("ID_")){
+					idMap.put(key,value);
+				}else {
+					valueMap.put(key,value);
+				}
+			}
+
+
+			List<OrganizationEvaluationInfo> evaluationInfos =new ArrayList<>();
+			for (Map.Entry<String,Object > entry : idMap.entrySet()) {
+				OrganizationEvaluationInfo info = new OrganizationEvaluationInfo();
+				info.setId(entry.getValue().toString());
+				boolean quantified = Boolean.valueOf(valueMap.get(entry.getKey().replace("ID_","IS_LH_")).toString());
+				if(quantified){
+					info.setQuantifiedValue(Double.valueOf(valueMap.get(entry.getKey().replace("ID_","")).toString()));
+				}
+				info.setNonQuantifiedValue(valueMap.get(entry.getKey().replace("ID_","")).toString());
+				evaluationInfos.add(info);
+			}
+			this.saveOrUpdateBatch(evaluationInfos);
+
+		}
+		return true;
+	}
+
 	//todo  后续添加需要计算的指标项
 	public boolean calculateIdicatorItem(List<OrganizationEvaluationInfo> organizationEvaluationInfos){
 

+ 17 - 0
ims-service/ims-eval/src/main/resources/mappers/OrganizationEvaluationInfoMapper.xml

@@ -23,6 +23,22 @@
     <sql id="Base_Column_List">
         id, organization_evaluation_id, indicator_id, indicator_dictionary_id, option_code, is_quantified, quantified_value, non_quantified_value, create_time, create_by, update_time, update_by, remark
     </sql>
+
+
+<!--    <update id="updateEvaluationInfo">-->
+
+<!--            <foreach collection="evaluationInfos" item="item" index="index" separator=";">-->
+<!--                <trim suffixOverrides=",">-->
+<!--                    UPDATE organization_evaluation_info-->
+<!--                    SET quantified_Value = ${item.quantifiedValue},-->
+<!--                    non_Quantified_Value = '${item.nonQuantifiedValue}'-->
+<!--                    WHERE id = '${item.id}'-->
+<!--                </trim>-->
+<!--            </foreach>-->
+
+
+<!--    </update>-->
+
     <select id="selectListEvaluationInfoId"
             resultType="com.ims.eval.entity.dto.response.OrganizationEvaluationInfoResDTO">
 
@@ -277,6 +293,7 @@
         oe.id organizationEvaluationId,
         ei.indicator_id,
         ei.is_quantified,
+        id.is_quantified isQuantified2,
         be.stage_name,
         be.id binStage,
         bn.id binSection,