Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

全业务考评 vor 1 Jahr
Ursprung
Commit
4055955f39

+ 99 - 12
ims-service/ims-eval/src/main/java/com/ims/eval/controller/EvaluationRevisionController.java

@@ -1,20 +1,25 @@
 package com.ims.eval.controller;
 
-import com.alibaba.fastjson.JSONObject;
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ims.common.utils.StringUtils;
 import com.ims.eval.config.CustomException;
 import com.ims.eval.entity.EvaluationRevision;
+import com.ims.eval.entity.OrganizationEvaluationRule;
+import com.ims.eval.entity.ResponsibilityIndicatorInfo;
 import com.ims.eval.entity.dto.response.ResponsibilityIndicatorInfoResDTO;
 import com.ims.eval.entity.dto.result.R;
 import com.ims.eval.service.IEvaluationRevisionService;
+import com.ims.eval.service.IOrganizationEvaluationRuleService;
 import com.ims.eval.service.IResponsibilityIndicatorInfoService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 单位考评目标修订
@@ -32,6 +37,9 @@ public class EvaluationRevisionController {
 	private IEvaluationRevisionService evaluationRevisionService;
 
 	@Autowired
+	private IOrganizationEvaluationRuleService organizationEvaluationRuleService;
+
+	@Autowired
 	private IResponsibilityIndicatorInfoService responsibilityIndicatorInfoService;
 
 	@Autowired
@@ -85,19 +93,65 @@ public class EvaluationRevisionController {
 	}
 
 	/**
-	 * 考评修订
+	 * 获取本年度所有单位
 	 *
-	 * @param id 考评目标主键
 	 * @return 结果
 	 */
-	@GetMapping(value = "/revise")
-	public R revise(@RequestParam(value = "id") String id) {
+	@GetMapping(value = "/getUnitAll")
+	public R getUnitAll() {
+		Calendar calendar = Calendar.getInstance();
+		//获取当前年
+		int year = calendar.get(Calendar.YEAR);
+		QueryWrapper<OrganizationEvaluationRule> qw = new QueryWrapper<>();
+		qw.lambda().eq(OrganizationEvaluationRule::getOrganizationType, "DWKP");
+		qw.lambda().eq(OrganizationEvaluationRule::getEvaluationCycle, "NDKP");
+		qw.lambda().eq(OrganizationEvaluationRule::getYear, String.valueOf(year));
+		qw.lambda().eq(OrganizationEvaluationRule::getDelFlag, false);
+		qw.lambda().eq(OrganizationEvaluationRule::getIsCheck, true);
+		List<OrganizationEvaluationRule> list = organizationEvaluationRuleService.list(qw);
+		return R.ok().data(list);
+	}
+
+	/**
+	 * 新增/修改单位考评目标修订信息
+	 *
+	 * @param evaluationRevision 单位考评目标修订业务实体
+	 * @return 结果
+	 */
+	@PostMapping(value = "/save")
+	public R addAll(@RequestBody EvaluationRevision evaluationRevision) {
 		try {
-			boolean b = evaluationRevisionService.save(id);
+			String id;
+			if (StringUtils.isEmpty(evaluationRevision.getId())) {//true为空
+				id = Convert.toStr(IdUtil.getSnowflake(1, 1).nextId());
+				QueryWrapper<EvaluationRevision> qw = new QueryWrapper<>();
+				qw.lambda().eq(EvaluationRevision::getOrganizationType, "DWKP");
+				qw.lambda().eq(EvaluationRevision::getCheckCycle, "NDKP");
+				if (StringUtils.isNotEmpty(evaluationRevision.getYear())) {
+					qw.lambda().eq(EvaluationRevision::getYear, evaluationRevision.getYear());
+				}
+				int count = evaluationRevisionService.count(qw);
+				String responsibilityCode = "MBXD_NDKP_" + evaluationRevision.getYear() + StringUtils.addZeroForStr(String.valueOf(count + 1), 2, "l");
+				evaluationRevision.setId(id);
+				evaluationRevision.setResponsibilityCode(responsibilityCode);
+				evaluationRevision.setStage("流程未启动");
+				evaluationRevision.setCreateTime(new Date());
+			} else {
+				id = evaluationRevision.getId();
+			}
+			if (StringUtils.isNotEmpty(evaluationRevision.getOrganizationId()) && StringUtils.isNotEmpty(evaluationRevision.getOrganizationName())) {
+				String[] organizationIds = evaluationRevision.getOrganizationId().split(",");
+				for (String organizationId : organizationIds) {
+					List<ResponsibilityIndicatorInfo> responsibilityIndicatorInfoList = responsibilityIndicatorInfoService.selectReviseResponsibilityIndicatorInfoList(organizationId, String.valueOf(Calendar.getInstance().get(Calendar.YEAR)));
+					responsibilityIndicatorInfoList.forEach(p -> p.setReviseId(id));
+					responsibilityIndicatorInfoService.updateBatchById(responsibilityIndicatorInfoList);
+				}
+			}
+			boolean b = evaluationRevisionService.saveOrUpdate(evaluationRevision);
 			if (b) {
 				return R.ok().data(b);
 			} else {
-				return R.error("考评修订失败!");
+				return R.error("保存失败!");
 			}
 		} catch (CustomException e) {
 			return R.customError(e.getMessage()).data("失败!");
@@ -105,9 +159,42 @@ public class EvaluationRevisionController {
 	}
 
 	/**
+	 * 批量删除单位考评目标修订信息
+	 *
+	 * @param ids 主键s
+	 * @return 结果
+	 */
+	@PostMapping(value = "/removeAll/{ids}")
+	public R deleteAll(@PathVariable("ids") String ids) {
+		try {
+			String[] strings = ids.split(",");
+			boolean b = evaluationRevisionService.removeByIds(Arrays.asList(strings));
+			if (b) {
+				return R.ok().data(b);
+			} else {
+				return R.error("删除失败,流程已启动或流程未结束!");
+			}
+		} catch (CustomException e) {
+			return R.customError(e.getMessage()).data("失败!");
+		}
+	}
+
+	/**
+	 * 详情-头部信息
+	 *
+	 * @param id 业务主键
+	 * @return 结果
+	 */
+	@GetMapping(value = "/detailsHead/{id}")
+	public R detailsHead(@PathVariable("id") String id) {
+		EvaluationRevision evaluationRevision = evaluationRevisionService.getById(id);
+		return R.ok().data(evaluationRevision);
+	}
+
+	/**
 	 * 详情
 	 *
-	 * @param responsibilityId      业务主键
+	 * @param reviseId              修订业务主键
 	 * @param indicatorId           indicatorId
 	 * @param organizationShortName organizationShortName
 	 * @param binSection            binSection
@@ -115,13 +202,13 @@ public class EvaluationRevisionController {
 	 * @return 结果
 	 */
 	@GetMapping(value = "/details")
-	public R details(@RequestParam(value = "responsibilityId", required = false) String responsibilityId,
+	public R details(@RequestParam(value = "reviseId", required = false) String reviseId,
 					 @RequestParam(value = "indicatorId", required = false) String indicatorId,
 					 @RequestParam(value = "organizationShortName", required = false) String organizationShortName,
 					 @RequestParam(value = "binSection", required = false) String binSection,
 					 @RequestParam(value = "binStage", required = false) String binStage) {
 		try {
-			Map list = responsibilityIndicatorInfoService.getResponsibilityInfoList(responsibilityId, indicatorId, organizationShortName, binSection, binStage, request);
+			Map list = evaluationRevisionService.getResponsibilityIndicatorInfoList(reviseId, indicatorId, organizationShortName, binSection, binStage, request);
 			return R.ok().data(list);
 		} catch (CustomException e1) {
 			e1.printStackTrace();

+ 6 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/dao/ResponsibilityIndicatorInfoMapper.java

@@ -33,12 +33,16 @@ public interface ResponsibilityIndicatorInfoMapper extends BaseMapper<Responsibi
 
 	List<Map> selectResponsibilityIndicatorList(@Param("responsibilityId") String responsibilityId,
 												@Param("binSection") String binSection,
-												@Param("binStage") String binStage);
+												@Param("binStage") String binStage,
+												@Param("reviseId") String reviseId);
 
 	@DataPermission(isPermission = true,type = true)
 	List<ResponsibilityIndicatorInfoResDTO> getResponsibilityInfoList(@Param("responsibilityId") String responsibilityId,
 																	  @Param("indicatorId") String indicatorId,
 																	  @Param("organizationShortName") String organizationShortName,
 																	  @Param("binSection") String binSection,
-																	  @Param("binStage") String binStage);
+																	  @Param("binStage") String binStage,
+																	  @Param("reviseId") String reviseId);
+
+    List<ResponsibilityIndicatorInfo> selectReviseResponsibilityIndicatorInfoList(@Param("organizationId") String organizationId, @Param("year") String year);
 }

+ 0 - 6
ims-service/ims-eval/src/main/java/com/ims/eval/entity/EvaluationRevision.java

@@ -164,10 +164,4 @@ public class EvaluationRevision extends Model {
 	 * 创建人组织name
 	 */
 	private String createOrgName;
-
-	/**
-	 * 备用ID
-	 */
-	private String standbyId;
-
 }

+ 6 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/entity/ResponsibilityIndicatorInfo.java

@@ -124,4 +124,10 @@ public class ResponsibilityIndicatorInfo extends Model {
 	 * 组织id
 	 */
 	private String organizationId;
+
+
+	/**
+	 * 修订业务id
+	 */
+	private String reviseId;
 }

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

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ims.eval.entity.EvaluationRevision;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author hlf
@@ -15,7 +17,9 @@ public interface IEvaluationRevisionService extends IService<EvaluationRevision>
 
 	IPage<EvaluationRevision> listPage(Integer pageNum, Integer pageSize, String id, String responsibilityCode, String cycleUnit, List<String> checkCycle, String beginDate, String endDate, String stage, String createBy, String year, String month, String des);
 
-	boolean save(String id);
+	boolean removeByIds(List<String> ids);
 
 	boolean editState(String id, String state, String instId);
+
+    Map getResponsibilityIndicatorInfoList(String reviseId, String indicatorId, String organizationShortName, String binSection, String binStage, HttpServletRequest request);
 }

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

@@ -56,4 +56,5 @@ public interface IResponsibilityIndicatorInfoService extends IService<Responsibi
 
 	 List<ResponsibilityIndicatorInfo> getResponsibilityInfooByOptionCodeList(String organizationEvaluationId, String organizationId, String childOptionCode);
 
-	}
+	List<ResponsibilityIndicatorInfo> selectReviseResponsibilityIndicatorInfoList(String organizationId, String year);
+}

+ 131 - 48
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/EvaluationRevisionServiceImpl.java

@@ -1,23 +1,27 @@
 package com.ims.eval.service.impl;
 
-import cn.hutool.core.convert.Convert;
-import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ims.common.utils.StringUtils;
+import com.ims.eval.cache.CacheContext;
 import com.ims.eval.config.CustomException;
 import com.ims.eval.dao.EvaluationRevisionMapper;
-import com.ims.eval.entity.DeptResponsibility;
+import com.ims.eval.dao.ResponsibilityIndicatorInfoMapper;
 import com.ims.eval.entity.EvaluationRevision;
-import com.ims.eval.service.IDeptResponsibilityService;
+import com.ims.eval.entity.Indicator;
+import com.ims.eval.entity.dto.response.IndicatorResDTO;
+import com.ims.eval.entity.dto.response.ResponsibilityIndicatorInfoResDTO;
 import com.ims.eval.service.IEvaluationRevisionService;
+import com.ims.eval.service.IIndicatorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Date;
-import java.util.List;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author hlf
@@ -28,7 +32,10 @@ import java.util.List;
 public class EvaluationRevisionServiceImpl extends ServiceImpl<EvaluationRevisionMapper, EvaluationRevision> implements IEvaluationRevisionService {
 
 	@Autowired
-	private IDeptResponsibilityService deptResponsibilityService;
+	private IIndicatorService indicatorService;
+
+	@Resource
+	private ResponsibilityIndicatorInfoMapper responsibilityIndicatorInfoMapper;
 
 	@Override
 	public IPage<EvaluationRevision> listPage(Integer pageNum, Integer pageSize, String id, String responsibilityCode, String cycleUnit, List<String> checkCycle, String beginDate, String endDate, String stage, String createBy, String year, String month, String des) {
@@ -91,56 +98,132 @@ public class EvaluationRevisionServiceImpl extends ServiceImpl<EvaluationRevisio
 	}
 
 	@Override
-	public boolean save(String id) {
-		DeptResponsibility deptResponsibility = deptResponsibilityService.getById(id);
-		if (null != deptResponsibility) {
-			EvaluationRevision evaluationRevision = new EvaluationRevision();
-			evaluationRevision.setId(deptResponsibility.getId());
-			String responsibilityCode = deptResponsibility.getResponsibilityCode();
-			int index = responsibilityCode.indexOf("_");
-			evaluationRevision.setResponsibilityCode("MBXD" + responsibilityCode.substring(index).toUpperCase());
-			evaluationRevision.setOrganizationId(deptResponsibility.getOrganizationId());
-			evaluationRevision.setOrganizationName(deptResponsibility.getOrganizationName());
-			evaluationRevision.setOrganizationType(deptResponsibility.getOrganizationType());
-			evaluationRevision.setCycleUnit(deptResponsibility.getCycleUnit());
-			evaluationRevision.setCheckCycle(deptResponsibility.getCheckCycle());
-			evaluationRevision.setYear(deptResponsibility.getYear());
-			evaluationRevision.setMonth(deptResponsibility.getMonth());
-			evaluationRevision.setOrganizationEvaluationRuleId(deptResponsibility.getOrganizationEvaluationRuleId());
-			evaluationRevision.setBeginDate(deptResponsibility.getBeginDate());
-			evaluationRevision.setEndDate(deptResponsibility.getEndDate());
-			evaluationRevision.setStage("流程未启动");
-			evaluationRevision.setDes(deptResponsibility.getDes());
-			evaluationRevision.setCreateTime(new Date());
-			evaluationRevision.setReviewPeople(deptResponsibility.getReviewPeople());
-			evaluationRevision.setReviewPeopleTime(deptResponsibility.getReviewPeopleTime());
-			evaluationRevision.setReviewOpinion(deptResponsibility.getReviewOpinion());
-			evaluationRevision.setFinalReviewPeople(deptResponsibility.getFinalReviewPeople());
-			evaluationRevision.setFinalReviewPeopleTime(deptResponsibility.getFinalReviewPeopleTime());
-			evaluationRevision.setFinalReviewOpinion(deptResponsibility.getFinalReviewOpinion());
-			evaluationRevision.setRemark(deptResponsibility.getRemark());
-			evaluationRevision.setCreateOrgId(deptResponsibility.getCreateOrgId());
-			evaluationRevision.setCreateOrgName(deptResponsibility.getCreateOrgName());
-			evaluationRevision.setStandbyId(Convert.toStr(IdUtil.getSnowflake(1, 1).nextId()));
-			return super.save(evaluationRevision);
-		}
-		return false;
+	public boolean removeByIds(List<String> ids) {
+		for (String id : ids) {
+			EvaluationRevision evaluationRevision = super.getById(id);
+			if ("流程未启动".equals(evaluationRevision.getStage())) {
+				baseMapper.deleteById(id);
+			}
+		}
+		return true;
 	}
 
 	@Override
 	public boolean editState(String id, String state, String instId) {
-		QueryWrapper<EvaluationRevision> qw = new QueryWrapper<>();
-		if (StringUtils.isNotEmpty(id)) {
-			qw.lambda().eq(EvaluationRevision::getStandbyId, id);
-		}
-		EvaluationRevision evaluationRevision = baseMapper.selectOne(qw);
+		EvaluationRevision evaluationRevision = baseMapper.selectById(id);
 		if (StringUtils.isNotEmpty(state)) {
 			evaluationRevision.setStage(state);
 		}
 		if (StringUtils.isNotEmpty(instId)) {
 			evaluationRevision.setInstId(instId);
 		}
-		boolean b = super.saveOrUpdate(evaluationRevision);
-		return b;
+		return super.saveOrUpdate(evaluationRevision);
+	}
+
+	@Override
+	public Map getResponsibilityIndicatorInfoList(String reviseId, String indicatorId, String organizationShortName, String binSection, String binStage, HttpServletRequest request) {
+		Map data = new HashMap();
+		//设置数据头
+		//获取指标名称
+		boolean titlemark = true;//标记生成标题
+		List<Map> indicatorMap = getResponsibilityIndicatorList(reviseId, binSection, binStage, request);
+		List<String> idList = indicatorMap.stream()
+			.map(map -> String.valueOf(map.get("id"))) // 提取每个Map中key为"id"的值,并转换成String
+			.collect(Collectors.toList()); // 将提取的值收集到List中
+		if (null == idList || idList.size() <= 0) {
+			//throw new CustomException("未查询到数据");
+			data.put("title", null);
+			return data;
+		}
+		List<IndicatorResDTO> indicatorResDTOS = indicatorService.getGroupChildCodeByIds(idList);
+		if (titlemark) {
+			// 遍历分组后的Map
+			Map title = new LinkedHashMap();//保存所有的指标名
+			for (IndicatorResDTO dto : indicatorResDTOS) {
+				List<Map> titleArray = new ArrayList<>();
+				// 处理每个分组中的元素
+				Map titlemap = new LinkedHashMap();
+				titlemap.put("childName", dto.getChildName());//子指标名
+				titlemap.put("key", dto.getDeptName());//名称
+				titlemap.put("code", dto.getChildCode() + "_" + dto.getOptionCode());//名称
+				titlemap.put("flag", dto.getIsQuantified());//是否量化
+				titleArray.add(titlemap);
+				title.put(dto.getChildName(), titleArray);
+			}
+			//状态标题头
+			Map deptstateMap = new LinkedHashMap();
+			List<Map> titlestateArray = new ArrayList<>();
+			deptstateMap.put("key", "填报状态");//名称
+			deptstateMap.put("code", "state");//名称
+			deptstateMap.put("flag", false);//是否编辑
+			titlestateArray.add(deptstateMap);
+			title.put("状态", titlestateArray);
+
+			data.put("title", title);
+			titlemark = false;
+		}
+		//获取数据
+		List<Map> datamapList = new ArrayList<>();
+		if (null != organizationShortName) {
+			organizationShortName = organizationShortName.trim();
+		}
+		if (null != organizationShortName) {
+			organizationShortName = organizationShortName.trim();
+		}
+		List<ResponsibilityIndicatorInfoResDTO> dataList = responsibilityIndicatorInfoMapper.getResponsibilityInfoList("", indicatorId, organizationShortName, binSection, binStage, reviseId);
+		Map<String, List<ResponsibilityIndicatorInfoResDTO>> groupeddataMap = dataList.stream().collect(Collectors.groupingBy(ResponsibilityIndicatorInfoResDTO::getOrganizationId)); // 根据organizationId进行分组
+		// 遍历分组后的Map
+		for (Map.Entry<String, List<ResponsibilityIndicatorInfoResDTO>> entry : groupeddataMap.entrySet()) {
+			List<ResponsibilityIndicatorInfoResDTO> groupedList = entry.getValue(); // 获取分组后的List
+			Map<String, ResponsibilityIndicatorInfoResDTO> resultMap = groupedList.stream()
+				.collect(Collectors.toMap(
+					dto -> dto.getChildCode() + "_" + dto.getOptionCode(),
+					dto -> dto,
+					(oldValue, newValue) -> oldValue)); // 解决键重复的情况
+			Map indicatormap = new HashMap();
+			// 进一步处理每个分组
+			for (IndicatorResDTO d : indicatorResDTOS) {
+				boolean mark = true;//标记给公司名赋值
+				if (mark) {
+					indicatormap.put("organizationShortName", resultMap.get(d.getChildCode() + "_" + d.getOptionCode()).getOrganizationShortName());//公司名
+					indicatormap.put("organizationId", resultMap.get(d.getChildCode() + "_" + d.getOptionCode()).getOrganizationId());//公司id
+					indicatormap.put("state", resultMap.get(d.getChildCode() + "_" + d.getOptionCode()).getState());
+					indicatormap.put("IS_LH_state", "3");
+					mark = false;
+				}
+				//指标属性
+				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()).getIsQuantified() ? "1" : "2");
+			}
+			datamapList.add(indicatormap);
+		}
+		data.put("value", datamapList);
+		return data;
+	}
+
+	private List<Map> getResponsibilityIndicatorList(String reviseId, String binSection, String binStage, HttpServletRequest request) {
+		//判断是否是(重点专项和管理事项)
+		List<Map> indicatorMap = new ArrayList<>();
+		if ("ZDZX".equals(CacheContext.bseIdObject.get(binStage).getStageCode()) || "KJCX".equals(CacheContext.bseIdObject.get(binStage).getStageCode())) {
+			EvaluationRevision dby = baseMapper.selectById(reviseId);
+			if (null == dby) {
+				return null;
+			}
+			List<Indicator> indicatorList = indicatorService.listAll("", "", "", binSection, binStage, "", "", dby.getCheckCycle());
+			if (null != indicatorList && indicatorList.size() > 0) {
+				for (Indicator i : indicatorList) {
+					Map map = new HashMap();
+					map.put("id", i.getId());
+					map.put("indicator_name", i.getIndicatorName());
+					indicatorMap.add(map);
+				}
+			}
+		} else {
+			indicatorMap = responsibilityIndicatorInfoMapper.selectResponsibilityIndicatorList("", binSection, binStage, reviseId);
+		}
+		return indicatorMap;
 	}
 }

+ 8 - 3
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/ResponsibilityIndicatorInfoServiceImpl.java

@@ -233,7 +233,7 @@ public class ResponsibilityIndicatorInfoServiceImpl extends ServiceImpl<Responsi
 			}
 
 		} else {
-			indicatorMap = baseMapper.selectResponsibilityIndicatorList(responsibilityId, binSection, binStage);
+			indicatorMap = baseMapper.selectResponsibilityIndicatorList(responsibilityId, binSection, binStage, "");
 		}
 
 		return indicatorMap;
@@ -297,7 +297,7 @@ public class ResponsibilityIndicatorInfoServiceImpl extends ServiceImpl<Responsi
 		if(null !=organizationShortName ){
 			organizationShortName = organizationShortName.trim();
 		}
-		List<ResponsibilityIndicatorInfoResDTO> dataList = baseMapper.getResponsibilityInfoList(responsibilityId, indicatorId, organizationShortName, binSection, binStage);
+		List<ResponsibilityIndicatorInfoResDTO> dataList = baseMapper.getResponsibilityInfoList(responsibilityId, indicatorId, organizationShortName, binSection, binStage, "");
 
 		Map<String, List<ResponsibilityIndicatorInfoResDTO>> groupeddataMap = dataList.stream().collect(Collectors.groupingBy(ResponsibilityIndicatorInfoResDTO::getOrganizationId)); // 根据organizationId进行分组
 
@@ -442,7 +442,7 @@ public class ResponsibilityIndicatorInfoServiceImpl extends ServiceImpl<Responsi
 
 		//获取数据
 		List<Map> datamapList = new ArrayList<>();
-		List<ResponsibilityIndicatorInfoResDTO> dataList = baseMapper.getResponsibilityInfoList(responsibilityId, indicatorId, "", binSection, binStage);
+		List<ResponsibilityIndicatorInfoResDTO> dataList = baseMapper.getResponsibilityInfoList(responsibilityId, indicatorId, "", binSection, binStage, "");
 
 		Map<String, List<ResponsibilityIndicatorInfoResDTO>> groupeddataMap = dataList.stream().collect(Collectors.groupingBy(ResponsibilityIndicatorInfoResDTO::getOrganizationId)); // 根据organizationId进行分组
 
@@ -764,6 +764,11 @@ public class ResponsibilityIndicatorInfoServiceImpl extends ServiceImpl<Responsi
 		return list;
 	}
 
+	@Override
+	public List<ResponsibilityIndicatorInfo> selectReviseResponsibilityIndicatorInfoList(String organizationId, String year) {
+		return baseMapper.selectReviseResponsibilityIndicatorInfoList(organizationId, year);
+	}
+
 	/**
 	 * 状态抓换 (-1:不合格;0:待确认;1:已确认)
 	 *

+ 51 - 33
ims-service/ims-eval/src/main/resources/mappers/ResponsibilityIndicatorInfoMapper.xml

@@ -18,12 +18,13 @@
         <result column="update_by" property="updateBy"/>
         <result column="remark" property="remark"/>
         <result column="data_state" property="dataState"/>
+        <result column="revise_id" property="reviseId"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id
-        , dept_responsibility_id, indicator_id, indicator_dictionary_id, option_code, is_quantified, quantified_value, non_quantified_value, create_time, create_by, update_time, update_by, remark, data_state
+        , dept_responsibility_id, indicator_id, indicator_dictionary_id, option_code, is_quantified, quantified_value, non_quantified_value, create_time, create_by, update_time, update_by, remark, data_state, revise_id
     </sql>
 
 
@@ -47,7 +48,8 @@
         ri.quantified_value,
         ri.non_quantified_value,
         i.unit,
-        ri.state
+        ri.state,
+        ri.revise_id
         from
         responsibility_indicator_info ri
         inner join dept_responsibility dr on dr.id = ri.dept_responsibility_id
@@ -85,33 +87,34 @@
 
     <select id="selectResponsibilityIndicatorInfoList"  resultType="com.ims.eval.entity.dto.response.ResponsibilityIndicatorInfoResDTO">
         select
-            ri.id,
-            ri.dept_responsibility_id,
-            ri.indicator_id,
-            ri.is_quantified,
-            ri.data_state,
-            be.stage_name,
-            be.id binStage,
-            bn.id binSection,
-            bn.section_name,
-            oer.id organizationEvaluationRuleId,
-            oer.organization_name,
-            dd.key_name deptName,
-            it.type_name,
-            i.indicator_name,
-            ri.quantified_value,
-            ri.non_quantified_value,
-            i.unit,
-            ri.state
+        ri.id,
+        ri.dept_responsibility_id,
+        ri.indicator_id,
+        ri.is_quantified,
+        ri.data_state,
+        be.stage_name,
+        be.id binStage,
+        bn.id binSection,
+        bn.section_name,
+        oer.id organizationEvaluationRuleId,
+        oer.organization_name,
+        dd.key_name deptName,
+        it.type_name,
+        i.indicator_name,
+        ri.quantified_value,
+        ri.non_quantified_value,
+        i.unit,
+        ri.state,
+        ri.revise_id
         from
-            responsibility_indicator_info ri
-            inner join dept_responsibility dr on dr.id = ri.dept_responsibility_id
-            inner join organization_evaluation_rule oer on oer.id = ri.organization_evaluation_rule_id
-            left join indicator i on ri.indicator_id = i.id
-            left join bin_stage be on i.bin_stage = be.id
-            left join bin_section bn on i.bin_section = bn.id
-            left join indicator_type it on i.indicator_type_id = it.id
-            inner join data_dictionary dd on dd.data_key = i.dept_id
+        responsibility_indicator_info ri
+        inner join dept_responsibility dr on dr.id = ri.dept_responsibility_id
+        inner join organization_evaluation_rule oer on oer.id = ri.organization_evaluation_rule_id
+        left join indicator i on ri.indicator_id = i.id
+        left join bin_stage be on i.bin_stage = be.id
+        left join bin_section bn on i.bin_section = bn.id
+        left join indicator_type it on i.indicator_type_id = it.id
+        inner join data_dictionary dd on dd.data_key = i.dept_id
         <where>
             <if test="deptResponsibilityId != null and deptResponsibilityId != ''">
                 and ri.dept_responsibility_id = #{deptResponsibilityId}
@@ -137,11 +140,15 @@
         <where>
 
             <if test="responsibilityId !=null and responsibilityId !=''">
-                and  ri.dept_responsibility_id = #{responsibilityId}
+                and ri.dept_responsibility_id = #{responsibilityId}
+            </if>
+
+            <if test="reviseId !=null and reviseId !=''">
+                and ri.revise_id = #{reviseId}
             </if>
 
             <if test="binSection !=null and binSection !=''">
-                and  i.bin_section = #{binSection}
+                and i.bin_section = #{binSection}
             </if>
 
             <if test="binStage !=null and binStage !=''">
@@ -176,7 +183,8 @@
         ri.quantified_value,
         ri.non_quantified_value,
         i.unit,
-        ri.state
+        ri.state,
+        ri.revise_id
         from
         responsibility_indicator_info ri
         inner join dept_responsibility dr on dr.id = ri.dept_responsibility_id
@@ -193,8 +201,12 @@
                 ri.dept_responsibility_id = #{responsibilityId}
             </if>
 
+            <if test="reviseId !=null and reviseId !=''">
+                ri.revise_id = #{reviseId}
+            </if>
+
             <if test="organizationShortName !=null and organizationShortName !=''">
-                and  oer.organization_short_name  like   CONCAT('%',#{organizationShortName},'%')
+                and oer.organization_short_name like CONCAT('%',#{organizationShortName},'%')
             </if>
 
             <if test="binSection !=null and binSection !=''">
@@ -209,7 +221,13 @@
 
         </where>
 
-        order by  ri.child_code desc
+        order by ri.child_code desc
+    </select>
+
+    <select id="selectReviseResponsibilityIndicatorInfoList" resultType="com.ims.eval.entity.ResponsibilityIndicatorInfo">
+        select rii.*, dr.year from responsibility_indicator_info rii
+        left join dept_responsibility dr on dr.id = rii.dept_responsibility_id
+        where rii.organization_id = #{organizationId} and dr.year = #{year}
     </select>
 
 </mapper>