Sfoglia il codice sorgente

公共指标处理 查询优化

全业务考评 1 anno fa
parent
commit
d7a5c9e7f5

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

@@ -9,6 +9,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -41,9 +42,7 @@ public class OrganizationEvaluationCommonInfoController {
 	}
 
 	@GetMapping(value = "list")
-	public R list(
-
-				  @RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
+	public R list(@RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
 				  @RequestParam(value = "indicatorId", required = false) String indicatorId,
 				  @RequestParam(value = "organizationId", required = false) String organizationId,
 				  @RequestParam(value = "deptId", required = false) String  deptId) {
@@ -52,6 +51,27 @@ public class OrganizationEvaluationCommonInfoController {
 	}
 
 
+	/**
+	 * 批量删除
+	 * @param organizationEvaluationId
+	 * @param indicatorId
+	 * @param organizationId
+	 * @param deptIds
+	 * @return
+	 */
+	@PostMapping(value = "/remove/{ids}")
+	@ApiOperation(value = "删除", notes = "删除")
+	public R deleteAll(@RequestParam(value = "organizationEvaluationId", required = false) String organizationEvaluationId,
+					   @RequestParam(value = "indicatorId", required = false) String indicatorId,
+					   @RequestParam(value = "organizationId", required = false) String organizationId,
+					   @RequestParam(value = "deptId", required = false) List<String>  deptIds) {
+		boolean b = organizationEvaluationCommonInfoService.removeCommonInfos(organizationEvaluationId,indicatorId,organizationId,deptIds);
+		if (b) {
+			return R.ok().data(b);
+		} else {
+			return R.error().data("删除失败!");
+		}
+	}
 
 
 

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

@@ -36,16 +36,7 @@ public class AddEvaluationInfoDTO {
 	 */
 	private String binStage;
 
-	/**
-	 * 指标部门id
-	 */
-	private String deptId;
-
 
-	/**
-	 * 指标部门name
-	 */
-	private String deptName;
 
 	/**
 	 * 指标项值(key,value)

+ 59 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/entity/dto/request/IndicatorLibraryDTO.java

@@ -0,0 +1,59 @@
+package com.ims.eval.entity.dto.request;
+
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Map;
+
+@ApiModel(value = "指标库请求类", description = "指标库请求类")
+@Data
+public class IndicatorLibraryDTO {
+
+	/**
+	 *type
+	 */
+	private Integer type;
+
+
+	/**
+	 * 请求包
+	 */
+	private Map map;
+
+//
+//	/**
+//	 * 机构编码
+//	 */
+//	private String[] sysCode;
+//	/**
+//	 * 指标项编码
+//	 */
+//	private String[] itemCode;
+//	/**
+//	 * 指标频度:D、M、Y
+//	 */
+//	private String range;
+//	/**
+//	 * 数据类型:日指标月累计
+//	 */
+//	private String dataType;
+//	/**
+//	 * 数据口径
+//	 */
+//	private String kj;
+//	/**
+//	 * 开始时间
+//	 */
+//	private String startTime;
+//	/**
+//	 * 结束时间
+//	 */
+//	private String endTime;
+//	/**
+//	 * 发电类型
+//	 */
+//	private String[] fdlx;
+
+
+}

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

@@ -22,4 +22,6 @@ public interface IOrganizationEvaluationCommonInfoService extends IService<Organ
 
 	Map getListAll(String organizationEvaluationId, String indicatorId, String organizationId, String deptId);
 
+	boolean removeCommonInfos(String organizationEvaluationId, String indicatorId, String organizationId, List<String> deptId);
+
 }

+ 45 - 15
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationEvaluationCommonInfoServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ims.eval.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ims.common.utils.StringUtils;
 import com.ims.eval.cache.CacheContext;
 import com.ims.eval.config.CustomException;
@@ -48,16 +49,6 @@ public class OrganizationEvaluationCommonInfoServiceImpl extends ServiceImpl<Org
 	public boolean addEvaluationCommonInfo(List<AddEvaluationInfoDTO> addEvaluationInfoDTOs) {
 		for (AddEvaluationInfoDTO addEvaluationInfoDTO : addEvaluationInfoDTOs) {
 
-			List<OrganizationEvaluationCommonInfo> infoResDTOList = baseMapper.selectListAll(addEvaluationInfoDTO.getOrganizationEvaluationId(),addEvaluationInfoDTO.getIndicatorId(),addEvaluationInfoDTO.getOrganizationId(),addEvaluationInfoDTO.getDeptName());
-			//判断是否已存在记录
-			if(null != infoResDTOList && infoResDTOList.size()>0){
-				//当前部门存在记录;移除保存
-				List<String> commonIds = infoResDTOList.stream().map(OrganizationEvaluationCommonInfo::getId).collect(Collectors.toList());
-				boolean b = this.removeByIds(commonIds);
-				if(!b){
-					throw new CustomException("保存失败");
-				}
-			}
 
 			//1.获取考评id(获取此考评记录)
 			String organizationEvaluationId = addEvaluationInfoDTO.getOrganizationEvaluationId();
@@ -91,7 +82,21 @@ public class OrganizationEvaluationCommonInfoServiceImpl extends ServiceImpl<Org
 				.collect(Collectors.groupingBy(d -> d.getChildCode() + "," + d.getChildName()));
 			Map<String, Object> optionMap = addEvaluationInfoDTO.getOptionMap();
 
-			//5.保存指标
+
+			//5.删除原有记录
+			List<OrganizationEvaluationCommonInfo> infoResDTOList = baseMapper.selectListAll(addEvaluationInfoDTO.getOrganizationEvaluationId(),addEvaluationInfoDTO.getIndicatorId(),addEvaluationInfoDTO.getOrganizationId(),optionMap.get("deptName").toString());
+			//判断是否已存在记录
+			if(null != infoResDTOList && infoResDTOList.size()>0){
+				//当前部门存在记录;移除保存
+				List<String> commonIds = infoResDTOList.stream().map(OrganizationEvaluationCommonInfo::getId).collect(Collectors.toList());
+				boolean b = this.removeByIds(commonIds);
+				if(!b){
+					throw new CustomException("保存失败");
+				}
+			}
+
+
+			//6.保存指标
 			for (Map.Entry<String, List<IndicatorResDTO>> childCodeEntry : groupedChildCode.entrySet()) {
 
 				for (IndicatorResDTO d : childCodeEntry.getValue()) {
@@ -119,13 +124,12 @@ public class OrganizationEvaluationCommonInfoServiceImpl extends ServiceImpl<Org
 					info.setChildCode(d.getChildCode());
 					CacheContext.ddSuperKeyMap.containsKey("BM0001");
 
-					if (StringUtils.isNotEmpty(addEvaluationInfoDTO.getDeptName()) && CacheContext.ddSuperKeyMap.containsKey("BM0001")){
-						Optional<DataDictionary> any = CacheContext.ddSuperKeyMap.get("BM0001").stream().filter(t -> t.getKeyName().equals(addEvaluationInfoDTO.getDeptName())).findAny();
+					if (StringUtils.isNotEmpty(optionMap.get("deptName").toString()) && CacheContext.ddSuperKeyMap.containsKey("BM0001")){
+						Optional<DataDictionary> any = CacheContext.ddSuperKeyMap.get("BM0001").stream().filter(t -> t.getKeyName().equals(optionMap.get("deptName").toString())).findAny();
 						DataDictionary  di =  any.isPresent() ?  any.get() : null;
 						info.setDeptId(di.getDataKey());
-						info.setDeptName(addEvaluationInfoDTO.getDeptName());
+						info.setDeptName(optionMap.get("deptName").toString());
 					}
-
 					saveOrUpdate(info);
 				}
 			}
@@ -185,6 +189,7 @@ public class OrganizationEvaluationCommonInfoServiceImpl extends ServiceImpl<Org
 
 				if (mark) {
 					indicatormap.put("deptName", resultMap.get(d.getChildCode()+"_"+d.getOptionCode()).getDeptName());//公司名
+					indicatormap.put("deptId", resultMap.get(d.getChildCode()+"_"+d.getOptionCode()).getDeptId());//公司名
 					indicatormap.put("organizationId", resultMap.get(d.getChildCode()+"_"+d.getOptionCode()).getOrganizationId());//公司id
 					mark = false;
 				}
@@ -204,4 +209,29 @@ public class OrganizationEvaluationCommonInfoServiceImpl extends ServiceImpl<Org
 
 		return data;
 	}
+
+	@Override
+	public boolean removeCommonInfos(String organizationEvaluationId, String indicatorId, String organizationId, List<String> deptId) {
+		QueryWrapper<OrganizationEvaluationCommonInfo> qw = new QueryWrapper<>();
+
+		if (StringUtils.isNotEmpty(organizationEvaluationId)) {
+			qw.lambda().eq(OrganizationEvaluationCommonInfo::getOrganizationEvaluationId, organizationEvaluationId);
+		}
+		if (StringUtils.isNotEmpty(indicatorId)) {
+			qw.lambda().eq(OrganizationEvaluationCommonInfo::getIndicatorId, indicatorId);
+		}
+		if (StringUtils.isNotEmpty(organizationId)) {
+			qw.lambda().eq(OrganizationEvaluationCommonInfo::getOrganizationId, organizationId);
+		}
+		if (StringUtils.isNotEmpty(deptId)) {
+			qw.lambda().in(OrganizationEvaluationCommonInfo::getDeptId, deptId);
+		}
+		List<OrganizationEvaluationCommonInfo> list = baseMapper.selectList(qw);
+
+		//获取
+		List<String> commonIds = list.stream().map(OrganizationEvaluationCommonInfo::getId).collect(Collectors.toList());
+		boolean b = this.removeByIds(commonIds);
+
+		return b;
+	}
 }