Commit 71058d56 authored by 熊海's avatar 熊海

修改汇总页面分数出错问题

parent 9e626999
......@@ -390,15 +390,15 @@ public class QuestionnaireCtrl {
//列表排序
String sorting = "";
if(StringUtils.isEmpty(performanceSummary.getSorting())){
sorting = "tr.id asc";
sorting = "t_record.id asc";
} else if(performanceSummary.getSorting().equals("desc")){
sorting = "basicIndicators desc,guideIndicators desc,rewardIndicators desc";
}else{
sorting = "tr.id asc";
sorting = "t_record.id asc";
}
performanceSummary.setSorting(sorting);
int totalScore = 0;
float totalScore = 0;
//查询空间的不同指标的分数
List<PerformanceSummary> performanceSummaryList = questionnaireService.selectPerformanceSummaryList(performanceSummary);
if(performanceSummaryList.size() > 0){
......
......@@ -3,10 +3,10 @@ package com.tiptimes.model;
public class PerformanceSummary {
private String optinName;//众创空间名称
private int basicIndicators;//基础指标得分
private int guideIndicators;//引导指标得分
private int rewardIndicators;//奖励指标得分
private int totalScore;//合计得分
private float basicIndicators;//基础指标得分
private float guideIndicators;//引导指标得分
private float rewardIndicators;//奖励指标得分
private float totalScore;//合计得分
private String sorting; //排序使用 - desc 默认 --asc 升
......@@ -18,35 +18,35 @@ public class PerformanceSummary {
this.optinName = optinName;
}
public int getBasicIndicators() {
public float getBasicIndicators() {
return basicIndicators;
}
public void setBasicIndicators(int basicIndicators) {
public void setBasicIndicators(float basicIndicators) {
this.basicIndicators = basicIndicators;
}
public int getGuideIndicators() {
public float getGuideIndicators() {
return guideIndicators;
}
public void setGuideIndicators(int guideIndicators) {
public void setGuideIndicators(float guideIndicators) {
this.guideIndicators = guideIndicators;
}
public int getRewardIndicators() {
public float getRewardIndicators() {
return rewardIndicators;
}
public void setRewardIndicators(int rewardIndicators) {
public void setRewardIndicators(float rewardIndicators) {
this.rewardIndicators = rewardIndicators;
}
public int getTotalScore() {
public float getTotalScore() {
return totalScore;
}
public void setTotalScore(int totalScore) {
public void setTotalScore(float totalScore) {
this.totalScore = totalScore;
}
......
......@@ -122,32 +122,27 @@
<!--绩效汇总列表查询-->
<select id="selectPerformanceSummaryList" resultType="com.tiptimes.model.PerformanceSummary">
SELECT
ta.value as optinName,
CASE WHEN tr.process_status = 2 THEN '0' WHEN tr.process_status = 3 THEN '30' ELSE '0' END as basicIndicators,
(
SELECT
CASE WHEN COUNT(ta.score) > 50 THEN 50 WHEN COUNT(ta.score) THEN COUNT(ta.score) ELSE '0' END as score
FROM t_questions AS tq
LEFT JOIN t_answer AS ta ON ta.`group` = tq.id
LEFT JOIN t_record AS tr ON tr.id = ta.record_id
WHERE tq.`status` = 1 AND ta.`group` in('2','5','6','8','9','12','13','14','15','16')
) as guideIndicators,
(
SELECT
CASE WHEN COUNT(ta.score) > 10 THEN 10 WHEN COUNT(ta.score) THEN COUNT(ta.score) ELSE '0' END as score
FROM t_questions AS tq
LEFT JOIN t_answer AS ta ON ta.`group` = tq.id
LEFT JOIN t_record AS tr ON tr.id = ta.record_id and ta.`group` BETWEEN 17 and 21
WHERE tq.`status` = 1
) as rewardIndicators
FROM t_questions AS tq
LEFT JOIN t_options AS o ON o.question_id = tq.id AND o.id = '1'
LEFT JOIN t_answer AS ta ON ta.options_id = o.id AND ta.`group` = '1'
LEFT JOIN t_record AS tr ON tr.id = ta.record_id and ta.`group` BETWEEN 1 and 11
WHERE o.`status` = 1 and tq.`status` = 1 and tr.process_status=3 or tr.process_status=2
DISTINCT t_answer.`value` as optinName,
CASE WHEN t_record.process_status = 2 THEN '0' WHEN t_record.process_status = 3 THEN '30' ELSE '0' END as basicIndicators,
(
SELECT
CASE WHEN SUM(t_review.score) > 50 THEN 50 WHEN SUM(t_review.score) THEN SUM(t_review.score) ELSE '0' END as score
FROM t_review
WHERE t_review.questions_id IN(22,21,20,19,18,17,16,15,14,13,12,11,10) AND record_id=t_record.id
) as guideIndicators,
(
SELECT
CASE WHEN SUM(t_review.score) > 10 THEN 10 WHEN SUM(t_review.score) THEN SUM(t_review.score) ELSE '0' END as score
FROM t_review
WHERE t_review.questions_id IN(27,26,25,24,23) AND record_id=t_record.id
) as rewardIndicators
FROM t_review
LEFT JOIN t_record ON t_review.record_id=t_record.id
LEFT JOIN t_answer ON t_answer.record_id=t_review.record_id AND t_answer.options_id=1
WHERE t_record.process_status=3 OR t_record.process_status=2
<if test=" optinName!= null and optinName !=''">
AND ta.value LIKE CONCAT('%', #{optinName}, '%')
AND t_answer.`value` LIKE CONCAT('%', #{optinName}, '%')
</if>
ORDER BY
<if test="sorting != null and sorting != ''">
......
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