Commit 4f5e6722 by zhangkb

单位评分表添加单位分数排名字段和相应代码排序逻辑。

parent f5fa7d32
......@@ -24,6 +24,7 @@ public class ObjScoreCalResult {
private Integer date;//对标日期
private String scoreValue;//考核对象得分
private String improveValue;//考核对象改善得分
private Integer scoreRank;//得分排名
private String scoreSumValue;//指标总积分
private Integer indCount;//指标个数
private String code;//机构编码
......
......@@ -429,8 +429,33 @@ public class ScoreRuleService {
datas.add(objScoreCalResult);
}
//进行综合评价和改善提升总分排名
List<ObjScoreCalResult> dbDatas = new ArrayList<>();
if(!datas.isEmpty()) {
Map<String,String> scoreRankMap = new HashMap<>();
for(ObjScoreCalResult scoreResult : datas) {
//计算综合评价和改善提升总分
Double scoreSum = Double.parseDouble(scoreResult.getScoreValue())+
Double.parseDouble(scoreResult.getImproveValue());
scoreRankMap.put(scoreResult.getCompareObj(), String.valueOf(scoreSum));
}
//排名(正向排序)
Map<String,Integer> rankValueMap = CalculateUtils.rankValue(scoreRankMap, "0");
for(Map.Entry<String, Integer> entry : rankValueMap.entrySet()) {
for(ObjScoreCalResult scoreResult : datas) {
if(scoreResult.getCompareObj().equals(entry.getKey())) {
scoreResult.setScoreRank(entry.getValue());
dbDatas.add(scoreResult);
}
}
}
datas = null;
}
//批量新增或修改
this.batchSaveOrUpdateObjScoreCalResult(datas);
if(!dbDatas.isEmpty()) {
this.batchSaveOrUpdateObjScoreCalResult(dbDatas);
dbDatas = null;
}
}
}else {
logger.info("单位评分卡id:"+scoreRuleId+" 不存在");
......
......@@ -366,20 +366,29 @@ public class CalculateUtils {
}
public static void main(String[] args) {
Map<String,Integer> objSort = new HashMap<>();
objSort.put("4301",1);objSort.put("4302",2);objSort.put("4303",3);
objSort.put("4304",4);objSort.put("4305",5);objSort.put("4306",6);
objSort.put("4307",7);objSort.put("4308",8);objSort.put("4309",9);
objSort.put("4310",10);objSort.put("4311",11);objSort.put("4312",12);
objSort.put("4313",13);objSort.put("4331",14);
Map<String,Integer> map = new HashMap<>();
map.put("430402", 4);
map.put("430405", 2);
map.put("430404", 5);
map.put("430407", 3);
map.put("430409", 1);
map = CalculateUtils.sortMapByValue(map,1);//按照value从大到小排序
Map<String,Object> resultRankMap = CalculateUtils.rankByObjSort(map, objSort);
System.out.println(resultRankMap);
// Map<String,Integer> objSort = new HashMap<>();
// objSort.put("4301",1);objSort.put("4302",2);objSort.put("4303",3);
// objSort.put("4304",4);objSort.put("4305",5);objSort.put("4306",6);
// objSort.put("4307",7);objSort.put("4308",8);objSort.put("4309",9);
// objSort.put("4310",10);objSort.put("4311",11);objSort.put("4312",12);
// objSort.put("4313",13);objSort.put("4331",14);
// Map<String,Integer> map = new HashMap<>();
// map.put("430402", 4);
// map.put("430405", 2);
// map.put("430404", 5);
// map.put("430407", 3);
// map.put("430409", 1);
// map = CalculateUtils.sortMapByValue(map,1);//按照value从大到小排序
// Map<String,Object> resultRankMap = CalculateUtils.rankByObjSort(map, objSort);
// System.out.println(resultRankMap);
Map<String,String> rankMap = new HashMap<>();
rankMap.put("1001", "0.0");
rankMap.put("1002", "0.0");
rankMap.put("1003", "0.0");
rankMap.put("1004", "0.0");
rankMap.put("1005", "0.0");
Map<String,Integer> rankValueMap = CalculateUtils.rankValue(rankMap, "0");
System.out.println(rankValueMap);
}
}
......@@ -14,12 +14,13 @@
<insert id="batchSave" parameterType="java.util.List">
insert into obj_score_cal_result(
compare_id, compare_obj, compare_obj_desc, ind_ids, date, score_value, improve_value,
score_sum_value, ind_count, code)
score_rank, score_sum_value, ind_count, code)
values
<foreach collection="datas" item="val" separator=",">
(
#{val.compareId}, #{val.compareObj}, #{val.compareObjDesc}, #{val.indIds}, #{val.date},
#{val.scoreValue},#{val.improveValue},#{val.scoreSumValue},#{val.indCount},#{val.code})
#{val.scoreValue},#{val.improveValue},#{val.scoreRank},#{val.scoreSumValue},#{val.indCount},
#{val.code})
</foreach>
</insert>
......@@ -48,6 +49,9 @@
<if test="val.improveValue != null">
improve_value = #{val.improveValue},
</if>
<if test="val.scoreRank != null">
score_rank = #{val.scoreRank},
</if>
<if test="val.scoreSumValue != null">
score_sum_value = #{val.scoreSumValue},
</if>
......
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