Browse Source

评级处理详情处理

全业务考评 1 year ago
parent
commit
9002daaae1

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

@@ -72,9 +72,16 @@ public class OrganizationRatingController {
 		}
 	}
 
-	public R generateRating(){
-
-		return  null;
+	@PostMapping(value = "/generateRating")
+	@ApiOperation(value = "批量生成明细", notes = "批量生成明细")
+	public R generateRating(@RequestParam(value = "organizationYearRatingId") String organizationYearRatingId,
+							@RequestParam(value = "year") String year){
+		boolean b = organizationRatingService.generateRating(organizationYearRatingId,year);
+		if (b) {
+			return R.ok().data(b);
+		} else {
+			return R.error().data("删除失败!");
+		}
 	}
 
 	/**

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

@@ -24,7 +24,7 @@ public interface IOrganizationEvaluationRuleService extends IService<Organizatio
 
 	IPage<OrganizationEvaluationRule> list2( Integer pageNum, Integer pageSize, String id, String organizationName, String organizationId, String organizationType, String binSection, String binStage, String evaluationCycle, String year);
 
-	List<OrganizationEvaluationRule> listByIsCheck(String organizationType,String evaluationCycle,Boolean isCheck,Boolean delFlag);
+	List<OrganizationEvaluationRule> listByIsCheck(String organizationType,String evaluationCycle,String year,Boolean isCheck,Boolean delFlag);
 
 
 	List<OrganizationEvaluationRule> getOrganizationRuleId(String evalOrRespId, String type);

+ 7 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IOrganizationRatingService.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ims.eval.entity.OrganizationRating;
 
+import java.util.List;
+
 /**
  * <p>
  * 年度评级 服务类
@@ -16,4 +18,9 @@ public interface IOrganizationRatingService extends IService<OrganizationRating>
 
 	IPage<OrganizationRating> list(Integer pageNum, Integer pageSize, String id,String organizationYearRatingId, String binSection, String year,String organizationShortName,String organizationId);
 
+
+	boolean generateRating(String organizationYearRatingId, String year);
+
+	List<OrganizationRating> list(String organizationYearRatingId, String year, String organizationId);
+
 }

+ 7 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/IOrganizationYearRatingService.java

@@ -19,4 +19,11 @@ public interface IOrganizationYearRatingService extends IService<OrganizationYea
 
 	boolean editState(String id, String state, String instId, String destination);
 
+	OrganizationYearRating getOneYearRating(String yearRatingCode, String year);
+
+
+	boolean saveyearRating(OrganizationYearRating yearRating);
+
+
+
 }

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

@@ -309,7 +309,7 @@ public class DeptResponsibilityServiceImpl extends ServiceImpl<DeptResponsibilit
 	@Override
 	public boolean saveOrUpdate(DeptResponsibility entity) {
 		//获取指定部门的规则
-		List<OrganizationEvaluationRule> list = organizationEvaluationRuleService.listByIsCheck(entity.getOrganizationType(), entity.getCheckCycle(), true, false);
+		List<OrganizationEvaluationRule> list = organizationEvaluationRuleService.listByIsCheck(entity.getOrganizationType(), entity.getCheckCycle(),"", true, false);
 		if (null == list || list.size() <= 0) {
 			throw new CustomException("不存在单位权重配置");
 		}

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

@@ -165,7 +165,7 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 
 
 	@Override
-	public List<OrganizationEvaluationRule> listByIsCheck(String organizationType,String evaluationCycle, Boolean isCheck, Boolean delFlag) {
+	public List<OrganizationEvaluationRule> listByIsCheck(String organizationType,String evaluationCycle, String year,Boolean isCheck, Boolean delFlag) {
 
 		if (StringUtils.isEmpty(organizationType) || StringUtils.isEmpty(evaluationCycle)) {
 			throw new CustomException("获取考评配置时,考评类型为空");
@@ -178,6 +178,10 @@ public class OrganizationEvaluationRuleServiceImpl extends ServiceImpl<Organizat
 			qw.lambda().eq(OrganizationEvaluationRule::getOrganizationType, organizationType);
 		}
 
+		if (StringUtils.isNotEmpty(year)) {
+			qw.lambda().eq(OrganizationEvaluationRule::getYear, year);
+		}
+
 		if (StringUtils.isNotEmpty(evaluationCycle)) {
 			qw.lambda().eq(OrganizationEvaluationRule::getEvaluationCycle, evaluationCycle);
 		}

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

@@ -156,7 +156,7 @@ public class OrganizationEvaluationServiceImpl extends ServiceImpl<OrganizationE
 	@Override
 	public boolean saveOrUpdate(OrganizationEvaluation entity) {
 		//获取指定部门的规则
-		List<OrganizationEvaluationRule> list = organizationEvaluationRuleService.listByIsCheck(entity.getOrganizationType(), entity.getCheckCycle(), true, false);
+		List<OrganizationEvaluationRule> list = organizationEvaluationRuleService.listByIsCheck(entity.getOrganizationType(), entity.getCheckCycle(), "",true, false);
 		if (!"JDKP".equals(entity.getCheckCycle()) && (null == list || list.size() <= 0)) {
 			throw new CustomException("不存在单位权重配置");
 		}

+ 55 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationRatingServiceImpl.java

@@ -1,14 +1,22 @@
 package com.ims.eval.service.impl;
 
+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.ims.common.utils.StringUtils;
 import com.ims.eval.dao.OrganizationRatingMapper;
+import com.ims.eval.entity.OrganizationEvaluationRule;
 import com.ims.eval.entity.OrganizationRating;
 import com.ims.eval.entity.OrganizationRatingRule;
+import com.ims.eval.service.IOrganizationEvaluationRuleService;
 import com.ims.eval.service.IOrganizationRatingService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  * 年度评级 服务实现类
@@ -20,6 +28,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class OrganizationRatingServiceImpl extends ServiceImpl<OrganizationRatingMapper, OrganizationRating> implements IOrganizationRatingService {
 
+
+
+	private IOrganizationEvaluationRuleService organizationEvaluationRuleService;
 	@Override
 	public IPage<OrganizationRating> list(Integer pageNum, Integer pageSize, String id,String organizationYearRatingId, String binSection, String year,String organizationShortName,String organizationId) {
 		Page<OrganizationRatingRule> page = new Page<>(pageNum, pageSize);
@@ -29,4 +40,48 @@ public class OrganizationRatingServiceImpl extends ServiceImpl<OrganizationRatin
 		IPage<OrganizationRating> list = baseMapper.selectList(page,id,organizationYearRatingId,binSection,year,organizationShortName,organizationId);
 		return list;
 	}
+
+	@Override
+	public boolean generateRating(String organizationYearRatingId, String year) {
+		List<OrganizationRating> ratings = list( organizationYearRatingId,  year,  "");
+		List<String> collect = ratings.stream().map(OrganizationRating::getOrganizationId).collect(Collectors.toList());
+		List<OrganizationEvaluationRule> evaluationRules =  organizationEvaluationRuleService.listByIsCheck("","NDKP",year,true,false);
+
+		List<OrganizationRating> addRatings = new ArrayList<>();
+		for (OrganizationEvaluationRule rule : evaluationRules){
+			if(null != collect && collect.size()>0 && collect.contains(rule.getOrganizationId())){
+				continue;
+			}
+			OrganizationRating rating = new OrganizationRating();
+			rating.setOrganizationYearRatingId(organizationYearRatingId);
+			rating.setOrganizationShortName(rule.getOrganizationShortName());
+			rating.setOrganizationId(rule.getOrganizationId());
+			rating.setYearRate(year);
+			rating.setBinSection(rule.getBinSection());
+			addRatings.add(rating);
+		}
+
+		boolean b = this.saveOrUpdateBatch(addRatings);
+		return  b;
+	}
+
+	@Override
+	public List<OrganizationRating> list(String organizationYearRatingId, String year, String organizationId) {
+		QueryWrapper<OrganizationRating> qw = new QueryWrapper<>();
+
+		if (StringUtils.isNotEmpty(organizationYearRatingId)) {
+			qw.lambda().eq(OrganizationRating::getOrganizationYearRatingId, organizationYearRatingId);
+		}
+
+		if (StringUtils.isNotEmpty(year)) {
+			qw.lambda().eq(OrganizationRating::getYear, year);
+		}
+
+		if (StringUtils.isNotEmpty(organizationId)) {
+			qw.lambda().eq(OrganizationRating::getOrganizationId, organizationId);
+		}
+
+		List<OrganizationRating> list = baseMapper.selectList(qw);
+		return list;
+	}
 }

+ 39 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/OrganizationYearRatingServiceImpl.java

@@ -8,6 +8,7 @@ import com.ims.eval.config.CustomException;
 import com.ims.eval.entity.DeptResponsibility;
 import com.ims.eval.entity.OrganizationYearRating;
 import com.ims.eval.dao.OrganizationYearRatingMapper;
+import com.ims.eval.entity.dto.result.R;
 import com.ims.eval.service.IOrganizationYearRatingService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -58,8 +59,46 @@ public class OrganizationYearRatingServiceImpl extends ServiceImpl<OrganizationY
 		}
 		if (StringUtils.isNotEmpty(instId)) {
 			yearRating.setInstId(instId);
+			yearRating.setStage("流程已启动");
 		}
 		boolean b = super.saveOrUpdate(yearRating);
 		return b;
 	}
+
+
+	@Override
+	public OrganizationYearRating getOneYearRating(String yearRatingCode, String year) {
+
+		QueryWrapper<OrganizationYearRating> qw = new QueryWrapper<>();
+		if (StringUtils.isNotEmpty(yearRatingCode)) {
+			qw.lambda().like(OrganizationYearRating::getYearRatingCode,yearRatingCode);
+		}
+
+		if (StringUtils.isNotEmpty(year)) {
+			qw.lambda().eq(OrganizationYearRating::getYear,year);
+		}
+
+		OrganizationYearRating yearRating = baseMapper.selectOne(qw);
+
+		return yearRating;
+	}
+
+	@Override
+	public boolean saveyearRating(OrganizationYearRating yearRating) {
+
+		StringBuilder sbcode = new StringBuilder("ndpj_").append(yearRating.getYear());
+		if(null !=yearRating && null == yearRating.getId()){
+			sbcode.append("_001");
+			yearRating.setStage("流程未启动");
+			yearRating.setYearRatingCode(sbcode.toString());
+		}else {
+			OrganizationYearRating one = getOneYearRating(yearRating.getYearRatingCode(),yearRating.getYear());
+			if(null != one){
+				throw new CustomException("已存在"+yearRating.getYear()+"年度评级");
+			}
+		}
+		boolean b = this.saveOrUpdate(yearRating);
+
+		return b;
+	}
 }