Bladeren bron

单位考评目标修订业务逻辑修改,接口编写

hlf 1 jaar geleden
bovenliggende
commit
7c5d6c3826

+ 28 - 32
ims-service/ims-eval/src/main/java/com/ims/eval/controller/EvaluationRevisionController.java

@@ -1,14 +1,11 @@
 package com.ims.eval.controller;
 
-import cn.hutool.core.convert.Convert;
-import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONObject;
 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;
@@ -19,7 +16,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 单位考评目标修订
@@ -121,32 +121,6 @@ public class EvaluationRevisionController {
 	@PostMapping(value = "/save")
 	public R addAll(@RequestBody EvaluationRevision evaluationRevision) {
 		try {
-			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);
@@ -220,6 +194,28 @@ public class EvaluationRevisionController {
 	}
 
 	/**
+	 * 详情-修改
+	 *
+	 * @param jsonObjects 详情数据
+	 * @return 结果
+	 */
+	@PostMapping(value = "/updateDetails")
+	public R updateDetails(@RequestBody List<JSONObject> jsonObjects) {
+
+		try {
+			boolean b = responsibilityIndicatorInfoService.revisionResponsibilityIndicatorInfo(jsonObjects);
+			if (b) {
+				return R.ok().data(b);
+			} else {
+				return R.error("保存失败!");
+			}
+		} catch (Exception e) {
+			log.error("错误", e);
+			return R.customError(e.getMessage()).data("失败!");
+		}
+	}
+
+	/**
 	 * 详情-弹框数据
 	 *
 	 * @param id 考评目标主键
@@ -227,7 +223,7 @@ public class EvaluationRevisionController {
 	 */
 	@GetMapping(value = "/popUpData")
 	public R popUpData(@RequestParam(value = "id") String id) {
-		List<ResponsibilityIndicatorInfoResDTO> list = responsibilityIndicatorInfoService.selectPopUpData(id, "", "失效");
+		List<ResponsibilityIndicatorInfoResDTO> list = responsibilityIndicatorInfoService.selectPopUpData(id, "", "0-0");
 		return R.ok().data(list);
 	}
 

+ 1 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/dao/ResponsibilityIndicatorInfoMapper.java

@@ -42,6 +42,7 @@ public interface ResponsibilityIndicatorInfoMapper extends BaseMapper<Responsibi
 																	  @Param("organizationShortName") String organizationShortName,
 																	  @Param("binSection") String binSection,
 																	  @Param("binStage") String binStage,
+																	  @Param("dataState") String dataState,
 																	  @Param("reviseId") String reviseId);
 
     List<ResponsibilityIndicatorInfo> selectReviseResponsibilityIndicatorInfoList(@Param("organizationId") String organizationId, @Param("year") String year);

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

@@ -98,7 +98,7 @@ public class ResponsibilityIndicatorInfo extends Model {
 	private String state;
 
 	/**
-	 * 数据状态
+	 * 数据状态(1:有效;0:无效)
 	 */
 	private String dataState;
 

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

@@ -17,6 +17,8 @@ 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 saveOrUpdate(EvaluationRevision evaluationRevision);
+
 	boolean removeByIds(List<String> ids);
 
 	boolean editState(String id, String state, String instId);

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

@@ -251,7 +251,7 @@ public class DeptResponsibilityServiceImpl extends ServiceImpl<DeptResponsibilit
 				info.setIsQuantified(dto.getIsQuantified());
 				info.setCreateTime(new Date());
 				info.setState("0");
-				info.setDataState("有效");
+				info.setDataState("1");
 				info.setOrganizationId(evaluationRule.getOrganizationId());
 				infoList.add(info);
 

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

@@ -1,5 +1,7 @@
 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;
@@ -11,10 +13,12 @@ import com.ims.eval.dao.EvaluationRevisionMapper;
 import com.ims.eval.dao.ResponsibilityIndicatorInfoMapper;
 import com.ims.eval.entity.EvaluationRevision;
 import com.ims.eval.entity.Indicator;
+import com.ims.eval.entity.ResponsibilityIndicatorInfo;
 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 com.ims.eval.service.IResponsibilityIndicatorInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -37,6 +41,9 @@ public class EvaluationRevisionServiceImpl extends ServiceImpl<EvaluationRevisio
 	@Resource
 	private ResponsibilityIndicatorInfoMapper responsibilityIndicatorInfoMapper;
 
+	@Autowired
+	private IResponsibilityIndicatorInfoService responsibilityIndicatorInfoService;
+
 	@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) {
 
@@ -98,6 +105,37 @@ public class EvaluationRevisionServiceImpl extends ServiceImpl<EvaluationRevisio
 	}
 
 	@Override
+	public boolean saveOrUpdate(EvaluationRevision evaluationRevision) {
+		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 = super.count(qw);
+			String responsibilityCode = "MBXD_GDDL_" + 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);
+			}
+		}
+		return super.saveOrUpdate(evaluationRevision);
+	}
+
+	@Override
 	public boolean removeByIds(List<String> ids) {
 		for (String id : ids) {
 			EvaluationRevision evaluationRevision = super.getById(id);
@@ -112,6 +150,20 @@ public class EvaluationRevisionServiceImpl extends ServiceImpl<EvaluationRevisio
 	public boolean editState(String id, String state, String instId) {
 		EvaluationRevision evaluationRevision = baseMapper.selectById(id);
 		if (StringUtils.isNotEmpty(state)) {
+			if ("考评委员会审核".equals(state)) {
+				state = "流程已结束";
+				QueryWrapper<ResponsibilityIndicatorInfo> qw = new QueryWrapper<>();
+				if (StringUtils.isNotEmpty(id)) {
+					qw.lambda().eq(ResponsibilityIndicatorInfo::getReviseId, id);
+				}
+				if (StringUtils.isNotEmpty(id)) {
+					qw.lambda().eq(ResponsibilityIndicatorInfo::getReviseId, id);
+				}
+				List<ResponsibilityIndicatorInfo> responsibilityIndicatorInfoList = responsibilityIndicatorInfoService.list(qw);
+
+
+
+			}
 			evaluationRevision.setStage(state);
 		}
 		if (StringUtils.isNotEmpty(instId)) {
@@ -170,7 +222,7 @@ public class EvaluationRevisionServiceImpl extends ServiceImpl<EvaluationRevisio
 		if (null != organizationShortName) {
 			organizationShortName = organizationShortName.trim();
 		}
-		List<ResponsibilityIndicatorInfoResDTO> dataList = responsibilityIndicatorInfoMapper.getResponsibilityInfoList("", indicatorId, organizationShortName, binSection, binStage, reviseId);
+		List<ResponsibilityIndicatorInfoResDTO> dataList = responsibilityIndicatorInfoMapper.getResponsibilityInfoList("", indicatorId, organizationShortName, binSection, binStage, "1-1", reviseId);
 		Map<String, List<ResponsibilityIndicatorInfoResDTO>> groupeddataMap = dataList.stream().collect(Collectors.groupingBy(ResponsibilityIndicatorInfoResDTO::getOrganizationId)); // 根据organizationId进行分组
 		// 遍历分组后的Map
 		for (Map.Entry<String, List<ResponsibilityIndicatorInfoResDTO>> entry : groupeddataMap.entrySet()) {

+ 63 - 31
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/ResponsibilityIndicatorInfoServiceImpl.java

@@ -32,6 +32,8 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 import java.io.InputStream;
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -171,33 +173,63 @@ public class ResponsibilityIndicatorInfoServiceImpl extends ServiceImpl<Responsi
 				String quantified = valueMap.get(entry.getKey().replace("ID_", "IS_LH_")).toString();
 				double quantifiedValue = 0;
 				if ("1".equals(quantified)) {
-					if (MathCalculatorUtil.isNumber(String.valueOf(valueMap.get(entry.getKey().replace("ID_", "")).toString()))) {
-						quantifiedValue = Double.valueOf(valueMap.get(entry.getKey().replace("ID_", "")).toString());
+					if (MathCalculatorUtil.isNumber(String.valueOf(valueMap.get(entry.getKey().replace("ID_", ""))))) {
+						BigDecimal bigDecimal = new BigDecimal(valueMap.get(entry.getKey().replace("ID_", "")).toString());
+						quantifiedValue = Double.parseDouble(new DecimalFormat("#.00").format(bigDecimal));
 					}
 				}
-				String nonQuantifiedValue = valueMap.get(entry.getKey().replace("ID_", "")).toString();
-				if (quantifiedValue != responsibilityIndicatorInfo.getQuantifiedValue() || !nonQuantifiedValue.equals(responsibilityIndicatorInfo.getNonQuantifiedValue())) {
-					ResponsibilityIndicatorInfo info = new ResponsibilityIndicatorInfo();
-					info.setDeptResponsibilityId(responsibilityIndicatorInfo.getDeptResponsibilityId());
-					info.setOrganizationEvaluationRuleId(responsibilityIndicatorInfo.getOrganizationEvaluationRuleId());
-					info.setIndicatorId(responsibilityIndicatorInfo.getIndicatorId());
-					info.setIndicatorDictionaryId(responsibilityIndicatorInfo.getIndicatorDictionaryId());
-					info.setOptionCode(responsibilityIndicatorInfo.getOptionCode());
-					info.setIsQuantified(responsibilityIndicatorInfo.getIsQuantified());
-					info.setQuantifiedValue(quantifiedValue);
-					info.setNonQuantifiedValue(nonQuantifiedValue);
-					info.setCreateTime(new Date());
-					info.setRemark(responsibilityIndicatorInfo.getRemark());
-					info.setState(valueMap.get("state").toString());
-					info.setDataState("有效");
-					info.setDeptId(responsibilityIndicatorInfo.getDeptId());
-					info.setChildCode(responsibilityIndicatorInfo.getChildCode());
-					info.setEvaluateRuleInfoId(responsibilityIndicatorInfo.getEvaluateRuleInfoId());
-					info.setOrganizationId(responsibilityIndicatorInfo.getOrganizationId());
-					boolean b = this.save(info);
-					if (b) {
-						responsibilityIndicatorInfo.setDataState("失效");
-						this.updateById(responsibilityIndicatorInfo);
+				String nonQuantifiedValue = String.valueOf(valueMap.get(entry.getKey().replace("ID_", "")));
+				if (responsibilityIndicatorInfo.getIsQuantified()) {//量化 true
+					if (quantifiedValue != responsibilityIndicatorInfo.getQuantifiedValue()) {
+						ResponsibilityIndicatorInfo info = new ResponsibilityIndicatorInfo();
+						info.setDeptResponsibilityId(responsibilityIndicatorInfo.getDeptResponsibilityId());
+						info.setOrganizationEvaluationRuleId(responsibilityIndicatorInfo.getOrganizationEvaluationRuleId());
+						info.setIndicatorId(responsibilityIndicatorInfo.getIndicatorId());
+						info.setIndicatorDictionaryId(responsibilityIndicatorInfo.getIndicatorDictionaryId());
+						info.setOptionCode(responsibilityIndicatorInfo.getOptionCode());
+						info.setIsQuantified(responsibilityIndicatorInfo.getIsQuantified());
+						info.setQuantifiedValue(quantifiedValue);
+						info.setNonQuantifiedValue(nonQuantifiedValue);
+						info.setCreateTime(new Date());
+						info.setRemark(responsibilityIndicatorInfo.getRemark());
+						info.setState("0");
+						info.setDataState("1-1");
+						info.setDeptId(responsibilityIndicatorInfo.getDeptId());
+						info.setChildCode(responsibilityIndicatorInfo.getChildCode());
+						info.setEvaluateRuleInfoId(responsibilityIndicatorInfo.getEvaluateRuleInfoId());
+						info.setOrganizationId(responsibilityIndicatorInfo.getOrganizationId());
+						info.setReviseId(responsibilityIndicatorInfo.getReviseId());
+						boolean b = this.save(info);
+						if (b) {
+							responsibilityIndicatorInfo.setDataState("0-0");
+							this.updateById(responsibilityIndicatorInfo);
+						}
+					}
+				} else {//非量化 false
+					if (!nonQuantifiedValue.equals(responsibilityIndicatorInfo.getNonQuantifiedValue())) {
+						ResponsibilityIndicatorInfo info = new ResponsibilityIndicatorInfo();
+						info.setDeptResponsibilityId(responsibilityIndicatorInfo.getDeptResponsibilityId());
+						info.setOrganizationEvaluationRuleId(responsibilityIndicatorInfo.getOrganizationEvaluationRuleId());
+						info.setIndicatorId(responsibilityIndicatorInfo.getIndicatorId());
+						info.setIndicatorDictionaryId(responsibilityIndicatorInfo.getIndicatorDictionaryId());
+						info.setOptionCode(responsibilityIndicatorInfo.getOptionCode());
+						info.setIsQuantified(responsibilityIndicatorInfo.getIsQuantified());
+						info.setQuantifiedValue(quantifiedValue);
+						info.setNonQuantifiedValue(nonQuantifiedValue);
+						info.setCreateTime(new Date());
+						info.setRemark(responsibilityIndicatorInfo.getRemark());
+						info.setState("0");
+						info.setDataState("1-1");
+						info.setDeptId(responsibilityIndicatorInfo.getDeptId());
+						info.setChildCode(responsibilityIndicatorInfo.getChildCode());
+						info.setEvaluateRuleInfoId(responsibilityIndicatorInfo.getEvaluateRuleInfoId());
+						info.setOrganizationId(responsibilityIndicatorInfo.getOrganizationId());
+						info.setReviseId(responsibilityIndicatorInfo.getReviseId());
+						boolean b = this.save(info);
+						if (b) {
+							responsibilityIndicatorInfo.setDataState("0-0");
+							this.updateById(responsibilityIndicatorInfo);
+						}
 					}
 				}
 			}
@@ -219,10 +251,10 @@ public class ResponsibilityIndicatorInfoServiceImpl extends ServiceImpl<Responsi
 		List<Map> indicatorMap = new ArrayList<>();
 		if ("ZDZX".equals(CacheContext.bseIdObject.get(binStage).getStageCode()) || "KJCX".equals(CacheContext.bseIdObject.get(binStage).getStageCode())) {
 			DeptResponsibility dby = deptResponsibilityService.getById(responsibilityId);
-			if(null == dby){
+			if (null == dby) {
 				return null;
 			}
-			List<Indicator> indicatorList = indicatorService.listAll("", "", "", binSection, binStage, "", "",dby.getCheckCycle());
+			List<Indicator> indicatorList = indicatorService.listAll("", "", "", binSection, binStage, "", "", dby.getCheckCycle());
 			if (null != indicatorList && indicatorList.size() > 0) {
 				for (Indicator i : indicatorList) {
 					Map map = new HashMap();
@@ -291,13 +323,13 @@ public class ResponsibilityIndicatorInfoServiceImpl extends ServiceImpl<Responsi
 
 		//获取数据
 		List<Map> datamapList = new ArrayList<>();
-		if(null !=organizationShortName ){
+		if (null != organizationShortName) {
 			organizationShortName = organizationShortName.trim();
 		}
-		if(null !=organizationShortName ){
+		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, "0-0", "");
 
 		Map<String, List<ResponsibilityIndicatorInfoResDTO>> groupeddataMap = dataList.stream().collect(Collectors.groupingBy(ResponsibilityIndicatorInfoResDTO::getOrganizationId)); // 根据organizationId进行分组
 
@@ -442,7 +474,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, "0-0", "");
 
 		Map<String, List<ResponsibilityIndicatorInfoResDTO>> groupeddataMap = dataList.stream().collect(Collectors.groupingBy(ResponsibilityIndicatorInfoResDTO::getOrganizationId)); // 根据organizationId进行分组
 

+ 7 - 4
ims-service/ims-eval/src/main/resources/mappers/ResponsibilityIndicatorInfoMapper.xml

@@ -122,9 +122,12 @@
             <if test="isQuantified != null and isQuantified != ''">
                 and ri.is_quantified = #{isQuantified}
             </if>
-            <if test="dataState != null and dataState != ''">
-                and ri.data_state = #{dataState}
-            </if>
+            and (
+                ri.data_state = '0'
+                <if test="dataState != null and dataState != ''">
+                    or ri.data_state = #{dataState}
+                </if>
+                )
         </where>
     </select>
 
@@ -217,7 +220,7 @@
                 and be.id = #{binStage}
             </if>
 
-            and ri.data_state = '有效'
+            and (ri.data_state = '1' or ri.data_state = #{dataState})
 
         </where>