Commit ab22ba49 by hzc

获取填報任务清单中关联指标

parent 3315423e
...@@ -184,7 +184,7 @@ public class TaskCtrl { ...@@ -184,7 +184,7 @@ public class TaskCtrl {
} }
/** /**
* 确认的数据重新确认一遍)修改后数据变化方便数据的统一 * 获取任务清单中关联指标
* @Param [] * @Param []
* @Date 2021/1/5 11:03 * @Date 2021/1/5 11:03
* @Author hzc * @Author hzc
...@@ -192,9 +192,8 @@ public class TaskCtrl { ...@@ -192,9 +192,8 @@ public class TaskCtrl {
@ApiOperation(" 获取任务清单中关联指标") @ApiOperation(" 获取任务清单中关联指标")
@GetMapping("findIndRef") @GetMapping("findIndRef")
public List<JSONObject> findIndRef(@RequestParam("taskId") String taskId , public List<JSONObject> findIndRef(@RequestParam("taskId") String taskId ,
@RequestParam("ruleId") Integer ruleId, @RequestParam("code") String code){
@RequestParam("dept") String dept){ return taskService.findIndRef(taskId,code);
return taskService.findIndRef(taskId,ruleId,dept);
} }
/** /**
......
...@@ -68,6 +68,12 @@ public class TaskIndicator extends BaseModel { ...@@ -68,6 +68,12 @@ public class TaskIndicator extends BaseModel {
*/ */
private String indFormula; private String indFormula;
/**
* 所属指标id
*/
private String driveId;
/** /**
* 指标归属部门 * 指标归属部门
*/ */
......
...@@ -21,4 +21,5 @@ public class IndicatorsRel { ...@@ -21,4 +21,5 @@ public class IndicatorsRel {
private String indType;//类型 0:基础指标 1:考核指标 private String indType;//类型 0:基础指标 1:考核指标
private String indFormat;//指标公式 private String indFormat;//指标公式
private String indFormatDesc;//指标公式描述 private String indFormatDesc;//指标公式描述
private String code;//机构编码
} }
...@@ -2,6 +2,7 @@ package com.keymobile.indicators.model.mapper.indicators; ...@@ -2,6 +2,7 @@ package com.keymobile.indicators.model.mapper.indicators;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -27,5 +28,10 @@ public interface DriveIndDefMapper extends BaseMapper<DriveIndDef>{ ...@@ -27,5 +28,10 @@ public interface DriveIndDefMapper extends BaseMapper<DriveIndDef>{
public void deleteByIdIn(@Param("ids")List<String> ids); public void deleteByIdIn(@Param("ids")List<String> ids);
/**
* 根据指标ids获取指标
* @param indIds
* @return
*/
List<DriveIndDef> selectByIds(@Param("indIds") List<String> indIds); List<DriveIndDef> selectByIds(@Param("indIds") List<String> indIds);
} }
package com.keymobile.indicators.model.mapper.indmapper; package com.keymobile.indicators.model.mapper.indmapper;
import java.util.List; import java.util.List;
import java.util.Set;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -21,4 +22,13 @@ public interface IndicatorsRelMapper extends BaseMapper<IndicatorsRel>{ ...@@ -21,4 +22,13 @@ public interface IndicatorsRelMapper extends BaseMapper<IndicatorsRel>{
* @Author hzc * @Author hzc
**/ **/
List<IndicatorsRel> selectByRelIndId(@Param("relIndId") String relIndId); List<IndicatorsRel> selectByRelIndId(@Param("relIndId") String relIndId);
/**
* 根据数据项id和机构编码去获取指标id集合 --- 去重
* @param indSet
* @param code
* @return
*/
List<String> selectByRelIndIdsAndCode(@Param("inds") Set<String> indSet, @Param("code") String code);
} }
...@@ -239,5 +239,5 @@ public interface TaskService { ...@@ -239,5 +239,5 @@ public interface TaskService {
**/ **/
Result checkTask( TaskRule rule); Result checkTask( TaskRule rule);
List<JSONObject> findIndRef(String taskId,Integer ruleId, String dept); List<JSONObject> findIndRef(String taskId,String code);
} }
...@@ -3,6 +3,7 @@ package com.keymobile.indicators.service.dataenter.impl; ...@@ -3,6 +3,7 @@ package com.keymobile.indicators.service.dataenter.impl;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.ImmutableListMultimap; import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimaps; import com.google.common.collect.Multimaps;
import com.googlecode.aviator.AviatorEvaluator; import com.googlecode.aviator.AviatorEvaluator;
import com.keymobile.indicators.api.hytobacco.IndicatorsDefAuditCtrl; import com.keymobile.indicators.api.hytobacco.IndicatorsDefAuditCtrl;
...@@ -17,6 +18,7 @@ import com.keymobile.indicators.model.entity.indicators.DriveIndDef; ...@@ -17,6 +18,7 @@ import com.keymobile.indicators.model.entity.indicators.DriveIndDef;
import com.keymobile.indicators.model.entity.indicators.IndicatorsData; import com.keymobile.indicators.model.entity.indicators.IndicatorsData;
import com.keymobile.indicators.model.mapper.indicators.*; import com.keymobile.indicators.model.mapper.indicators.*;
import com.keymobile.indicators.model.mapper.indmapper.IndicatorsDataMapper; import com.keymobile.indicators.model.mapper.indmapper.IndicatorsDataMapper;
import com.keymobile.indicators.model.mapper.indmapper.IndicatorsRelMapper;
import com.keymobile.indicators.result.Result; import com.keymobile.indicators.result.Result;
import com.keymobile.indicators.service.ConfigInfoService; import com.keymobile.indicators.service.ConfigInfoService;
import com.keymobile.indicators.service.NoticeInfoService; import com.keymobile.indicators.service.NoticeInfoService;
...@@ -42,6 +44,7 @@ import java.text.SimpleDateFormat; ...@@ -42,6 +44,7 @@ import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
@Service @Service
...@@ -92,6 +95,14 @@ public class TaskServiceImpl implements TaskService { ...@@ -92,6 +95,14 @@ public class TaskServiceImpl implements TaskService {
@Autowired @Autowired
private TaskIndValueTmpMapper taskIndValueTmpMapper; private TaskIndValueTmpMapper taskIndValueTmpMapper;
@Autowired
private IndicatorsRelMapper indicatorsRelMapper;
@Autowired
private DriveIndDefMapper driveIndDefMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Task createTask(Task task) { public Task createTask(Task task) {
...@@ -785,7 +796,7 @@ public class TaskServiceImpl implements TaskService { ...@@ -785,7 +796,7 @@ public class TaskServiceImpl implements TaskService {
for (TaskRuleIndicator indicator : indicators) { for (TaskRuleIndicator indicator : indicators) {
List<BaseIndDef> baseIndDefs = List<BaseIndDef> baseIndDefs =
this.indRelService.getRelByIndId(indicator.getIndId(), "1"); this.indRelService.getRelByIndId(indicator.getIndId(), "1");
getBaseIndDef(ruleId, null, baseIndDefs, taskIndicators); getBaseIndDef(ruleId, null, indicator.getIndId(),baseIndDefs, taskIndicators);
} }
if (CollectionUtils.isNotEmpty(taskIndicators)) { if (CollectionUtils.isNotEmpty(taskIndicators)) {
//数据项按归属部门分组 //数据项按归属部门分组
...@@ -920,7 +931,7 @@ public class TaskServiceImpl implements TaskService { ...@@ -920,7 +931,7 @@ public class TaskServiceImpl implements TaskService {
List<TaskIndicator> taskIndicators = new ArrayList<>(); List<TaskIndicator> taskIndicators = new ArrayList<>();
for (TaskRuleIndicator indicator : indicators) { for (TaskRuleIndicator indicator : indicators) {
List<BaseIndDef> baseIndDefs =this.indRelService.getRelByIndId(indicator.getIndId(), "1"); List<BaseIndDef> baseIndDefs =this.indRelService.getRelByIndId(indicator.getIndId(), "1");
getBaseIndDef(ruleId, null, baseIndDefs, taskIndicators); getBaseIndDef(ruleId, null,indicator.getIndId(), baseIndDefs, taskIndicators);
} }
if (CollectionUtils.isNotEmpty(taskIndicators)) { if (CollectionUtils.isNotEmpty(taskIndicators)) {
//数据项按归属部门分组 //数据项按归属部门分组
...@@ -957,14 +968,26 @@ public class TaskServiceImpl implements TaskService { ...@@ -957,14 +968,26 @@ public class TaskServiceImpl implements TaskService {
} }
@Override @Override
public List<JSONObject> findIndRef(String taskId,Integer ruleId , String dept) { public List<JSONObject> findIndRef(String taskId,String code ) {
List<JSONObject> values = new ArrayList<>(); List<JSONObject> values = new ArrayList<>();
List<DriveIndDef> defs = taskRuleIndicatorMapper.findIndRefByRuleIdIdAndDept(ruleId,dept);
// List<DriveIndDef> defs = taskRuleIndicatorMapper.findIndRefByRuleIdIdAndDept(ruleId,dept);
//获取数据项
List<TaskIndicator> inds = taskIndicatorMapper.getByTaskId(taskId); List<TaskIndicator> inds = taskIndicatorMapper.getByTaskId(taskId);
Set<String> driveIdSet = new HashSet<>(); //indicatorsRelMapper.selectByRelIndIdsAndCode(indSet,code);
Set<String> indSet = new HashSet<>();
Map<String,String> indIdOfNameMap = new HashMap<>(); Map<String,String> indIdOfNameMap = new HashMap<>();
for (TaskIndicator ind : inds) { for (TaskIndicator ind : inds) {
indSet.add(ind.getIndId());
indIdOfNameMap.put(ind.getIndId(),ind.getIndName()); indIdOfNameMap.put(ind.getIndId(),ind.getIndName());
driveIdSet.add(ind.getDriveId());
} }
//转list
List<String> driveList = driveIdSet.stream().collect(Collectors.toList());
//获取指标
List<DriveIndDef> defs = driveIndDefMapper.selectByIds(driveList);
List<String> indIdList = new ArrayList<>();//定义存储从考核指标公式解析出来的基础指标id List<String> indIdList = new ArrayList<>();//定义存储从考核指标公式解析出来的基础指标id
for (DriveIndDef def : defs) { for (DriveIndDef def : defs) {
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
...@@ -995,6 +1018,7 @@ public class TaskServiceImpl implements TaskService { ...@@ -995,6 +1018,7 @@ public class TaskServiceImpl implements TaskService {
return values; return values;
} }
public String changeRedColor(String value){ public String changeRedColor(String value){
StringBuilder tmp = new StringBuilder(); StringBuilder tmp = new StringBuilder();
...@@ -1090,7 +1114,7 @@ public class TaskServiceImpl implements TaskService { ...@@ -1090,7 +1114,7 @@ public class TaskServiceImpl implements TaskService {
* @param baseIndDefs * @param baseIndDefs
* @param taskIndicators * @param taskIndicators
*/ */
private void getBaseIndDef(Integer ruleId, String parentIndId, List<BaseIndDef> baseIndDefs, List<TaskIndicator> taskIndicators) { private void getBaseIndDef(Integer ruleId, String parentIndId,String driverId, List<BaseIndDef> baseIndDefs, List<TaskIndicator> taskIndicators) {
if (CollectionUtils.isNotEmpty(baseIndDefs)) { if (CollectionUtils.isNotEmpty(baseIndDefs)) {
for (BaseIndDef baseIndDef : baseIndDefs) { for (BaseIndDef baseIndDef : baseIndDefs) {
if (baseIndDef == null) { if (baseIndDef == null) {
...@@ -1105,6 +1129,7 @@ public class TaskServiceImpl implements TaskService { ...@@ -1105,6 +1129,7 @@ public class TaskServiceImpl implements TaskService {
taskIndicator.setIndId(baseIndDef.getIndId()); taskIndicator.setIndId(baseIndDef.getIndId());
taskIndicator.setIndName(baseIndDef.getIndName()); taskIndicator.setIndName(baseIndDef.getIndName());
taskIndicator.setIndDept(baseIndDef.getIndDept()); taskIndicator.setIndDept(baseIndDef.getIndDept());
taskIndicator.setDriveId(driverId);
if (!taskIndicators.contains(taskIndicator)) { if (!taskIndicators.contains(taskIndicator)) {
taskIndicators.add(taskIndicator); taskIndicators.add(taskIndicator);
} else { } else {
...@@ -1116,7 +1141,7 @@ public class TaskServiceImpl implements TaskService { ...@@ -1116,7 +1141,7 @@ public class TaskServiceImpl implements TaskService {
} else { } else {
taskIndicator.setHasChildren(false); taskIndicator.setHasChildren(false);
} }
getBaseIndDef(ruleId, taskIndicator.getIndId(), children, taskIndicators); getBaseIndDef(ruleId, taskIndicator.getIndId(),driverId, children, taskIndicators);
} }
} }
} }
......
...@@ -37,7 +37,6 @@ public class DriveIndDefService { ...@@ -37,7 +37,6 @@ public class DriveIndDefService {
private ShortboardRuleMapper shortboardRuleMapper; private ShortboardRuleMapper shortboardRuleMapper;
@Autowired @Autowired
private IndicatorsRelService indRelService; private IndicatorsRelService indRelService;
public String saveOrUpdate(DriveIndDef driveIndDef,String code,Integer catalogId,String catalogIdPath, public String saveOrUpdate(DriveIndDef driveIndDef,String code,Integer catalogId,String catalogIdPath,
String user,String isUpdate,String shortboardIds)throws Exception{ String user,String isUpdate,String shortboardIds)throws Exception{
//判断公式合法性 //判断公式合法性
......
...@@ -298,7 +298,7 @@ public class IndScorecardService { ...@@ -298,7 +298,7 @@ public class IndScorecardService {
} }
} }
//判断是否有设置综合评分分数下限,有的话判断下限分和实际分 //判断是否有设置综合评分分数下限,有的话判断下限分和实际分
if(scoreCard.getCompLimitFloorScore()!=null&&scoreCard.getCompLimitFloorScore()!=0){ if(scoreCard.getCompLimitFloorScore()!=null){
if(baseScoreValue<scoreCard.getCompLimitFloorScore()){ if(baseScoreValue<scoreCard.getCompLimitFloorScore()){
baseScoreValue=scoreCard.getCompLimitFloorScore(); baseScoreValue=scoreCard.getCompLimitFloorScore();
} }
......
...@@ -151,6 +151,7 @@ public class IndicatorsRelService { ...@@ -151,6 +151,7 @@ public class IndicatorsRelService {
public void saveOrUpdate(String indId,String type) { public void saveOrUpdate(String indId,String type) {
String formula = null; String formula = null;
String formulaDesc = null; String formulaDesc = null;
String code=null;
//判断该指标有没有保存了关联指标,有的则全部删除,全部新建 //判断该指标有没有保存了关联指标,有的则全部删除,全部新建
List<IndicatorsRel> indRels = indicatorsRelMapper.findByIndId(indId); List<IndicatorsRel> indRels = indicatorsRelMapper.findByIndId(indId);
if(!indRels.isEmpty()) { if(!indRels.isEmpty()) {
...@@ -169,6 +170,7 @@ public class IndicatorsRelService { ...@@ -169,6 +170,7 @@ public class IndicatorsRelService {
if(driveIndDef!=null) { if(driveIndDef!=null) {
formula = driveIndDef.getIndFormat(); formula = driveIndDef.getIndFormat();
formulaDesc = driveIndDef.getIndFormatDesc(); formulaDesc = driveIndDef.getIndFormatDesc();
code = driveIndDef.getCode();
} }
} }
//解析公式关系 //解析公式关系
...@@ -185,6 +187,7 @@ public class IndicatorsRelService { ...@@ -185,6 +187,7 @@ public class IndicatorsRelService {
indRel.setIndFormat(formula); indRel.setIndFormat(formula);
indRel.setIndFormatDesc(formulaDesc); indRel.setIndFormatDesc(formulaDesc);
indRel.setIndType(type); indRel.setIndType(type);
indRel.setCode(code);
indicatorsRelMapper.insert(indRel); indicatorsRelMapper.insert(indRel);
} }
} }
......
...@@ -17,4 +17,13 @@ ...@@ -17,4 +17,13 @@
from ind_relation from ind_relation
where rel_ind_id = #{relIndId} where rel_ind_id = #{relIndId}
</select> </select>
<select id="selectByRelIndIdsAndCode" resultType="java.lang.String">
select distinct ind_id from ind_relation
where code=#{code} and rel_ind_id in
<foreach collection="inds" open="(" item="val" separator="," close=")">
#{val}
</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment