测评端used数值错误修复;优化导出模板的展示
This commit is contained in:
parent
5c7fe24b18
commit
4250b6a948
|
@ -30,13 +30,14 @@ public class PublishRecordWordData {
|
||||||
private String femalePercent;
|
private String femalePercent;
|
||||||
private ChartSingleSeriesRenderData sexChart;
|
private ChartSingleSeriesRenderData sexChart;
|
||||||
|
|
||||||
private String recordNum;
|
|
||||||
private String completeNum;
|
private String completeNum;
|
||||||
private String completePercent;
|
private String completePercent;
|
||||||
private String undoneNum;
|
private String undoneNum;
|
||||||
private String undonePercent;
|
private String undonePercent;
|
||||||
private ChartSingleSeriesRenderData completeChart;
|
private ChartSingleSeriesRenderData completeChart;
|
||||||
|
|
||||||
|
private String recordNum;
|
||||||
private String warnNum;
|
private String warnNum;
|
||||||
private String warnPercent;
|
private String warnPercent;
|
||||||
private String normalNum;
|
private String normalNum;
|
||||||
|
|
|
@ -314,7 +314,7 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
int recordNum = completeNum + undoneNum;
|
int recordNum = completeNum + undoneNum;
|
||||||
int completePercent = processHalfUpPercent(completeNum, recordNum);
|
int completePercent = processHalfUpPercent(completeNum, recordNum);
|
||||||
int undonePercent = processHalfUpPercent(undoneNum, recordNum);
|
int undonePercent = processHalfUpPercent(undoneNum, recordNum);
|
||||||
wordData.setRecordNum(String.valueOf(recordNum));
|
|
||||||
wordData.setCompleteNum(String.valueOf(completeNum));
|
wordData.setCompleteNum(String.valueOf(completeNum));
|
||||||
wordData.setCompletePercent(completePercent + "%");
|
wordData.setCompletePercent(completePercent + "%");
|
||||||
wordData.setUndoneNum(String.valueOf(undoneNum));
|
wordData.setUndoneNum(String.valueOf(undoneNum));
|
||||||
|
@ -324,20 +324,21 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
wordData.setCompleteChart(completeChart);
|
wordData.setCompleteChart(completeChart);
|
||||||
|
|
||||||
int warnNum = recordMapper.selectWarnNumByBatchNo(batchNo);
|
int warnNum = recordMapper.selectWarnNumByBatchNo(batchNo);
|
||||||
int warnPercent = processHalfUpPercent(warnNum, personTotal);
|
int warnPercent = processHalfUpPercent(warnNum, completeNum);
|
||||||
int normalNum = personTotal - warnNum;
|
int normalNum = completeNum - warnNum;
|
||||||
int normalPercent = processHalfUpPercent(normalNum, personTotal);
|
int normalPercent = processHalfUpPercent(normalNum, completeNum);
|
||||||
|
wordData.setRecordNum(String.valueOf(completeNum));
|
||||||
wordData.setWarnNum(String.valueOf(warnNum));
|
wordData.setWarnNum(String.valueOf(warnNum));
|
||||||
wordData.setWarnPercent(warnPercent + "%");
|
wordData.setWarnPercent(warnPercent + "%");
|
||||||
wordData.setNormalNum(String.valueOf(normalNum));
|
wordData.setNormalNum(String.valueOf(normalNum));
|
||||||
wordData.setNormalPercent(normalPercent + "%");
|
wordData.setNormalPercent(normalPercent + "%");
|
||||||
ChartSingleSeriesRenderData warnChart = Charts.ofSingleSeries("", new String[]{"触发预警(人)", "未触发预警(人)"})
|
boolean warnChartFlag = warnNum == 0 && normalNum == 0;
|
||||||
|
ChartSingleSeriesRenderData warnChart = Charts.ofSingleSeries(warnChartFlag ? "暂无数据" : "", new String[]{"触发预警(人)", "未触发预警(人)"})
|
||||||
.series("", new Integer[]{warnNum, normalNum}).create();
|
.series("", new Integer[]{warnNum, normalNum}).create();
|
||||||
wordData.setWarnChart(warnChart);
|
wordData.setWarnChart(warnChart);
|
||||||
|
|
||||||
ChartSingleSeriesRenderData classChart = Charts.ofSingleSeries("暂无数据", new String[]{"班级"})
|
ChartSingleSeriesRenderData classChart = Charts.ofSingleSeries("暂无数据", new String[]{"班级"})
|
||||||
.series("", new Integer[]{0}).create();
|
.series("", new Integer[]{0}).create();
|
||||||
;
|
|
||||||
List<StatisticNumVo> warn4ClassList = recordMapper.selectWarn4Class(batchNo);
|
List<StatisticNumVo> warn4ClassList = recordMapper.selectWarn4Class(batchNo);
|
||||||
if (ObjectUtil.isNotEmpty(warn4ClassList)) {
|
if (ObjectUtil.isNotEmpty(warn4ClassList)) {
|
||||||
Optional<StatisticNumVo> maxOptional = warn4ClassList.stream().max(Comparator.comparingInt(StatisticNumVo::getValue));
|
Optional<StatisticNumVo> maxOptional = warn4ClassList.stream().max(Comparator.comparingInt(StatisticNumVo::getValue));
|
||||||
|
@ -347,20 +348,11 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
String classWarnName = max.getName();
|
String classWarnName = max.getName();
|
||||||
int classWarnPercent = processHalfUpPercent(classWarnNum, personTotal);
|
int classWarnPercent = processHalfUpPercent(classWarnNum, personTotal);
|
||||||
int classOtherNum = personTotal - classWarnNum;
|
int classOtherNum = personTotal - classWarnNum;
|
||||||
// WordClassWarn flag = new WordClassWarn();
|
|
||||||
// wordData.setFlag(flag);
|
|
||||||
// flag.setClassWarnName(classWarnName);
|
|
||||||
// flag.setClassWarnNum(String.valueOf(classWarnNum));
|
|
||||||
// flag.setClassWarnPercent(classWarnPercent + "%");
|
|
||||||
// ChartSingleSeriesRenderData classChart = Charts.ofSingleSeries("", new String[]{classWarnName + "(人)", "其他(人)"})
|
|
||||||
// .series("", new Integer[]{classWarnNum, classOtherNum}).create();
|
|
||||||
// flag.setClassChart(classChart);
|
|
||||||
wordData.setClassWarnName(classWarnName);
|
wordData.setClassWarnName(classWarnName);
|
||||||
wordData.setClassWarnNum(String.valueOf(classWarnNum));
|
wordData.setClassWarnNum(String.valueOf(classWarnNum));
|
||||||
wordData.setClassWarnPercent(classWarnPercent + "%");
|
wordData.setClassWarnPercent(classWarnPercent + "%");
|
||||||
classChart = Charts.ofSingleSeries("", new String[]{classWarnName + "(人)", "其他(人)"})
|
classChart = Charts.ofSingleSeries("", new String[]{classWarnName + "(人)", "其他(人)"})
|
||||||
.series("", new Integer[]{classWarnNum, classOtherNum}).create();
|
.series("", new Integer[]{classWarnNum, classOtherNum}).create();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
wordData.setClassChart(classChart);
|
wordData.setClassChart(classChart);
|
||||||
|
@ -393,7 +385,7 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
}
|
}
|
||||||
for (StatisticNumVo factor : factorList) {
|
for (StatisticNumVo factor : factorList) {
|
||||||
RowRenderData one = Rows.of(factor.getName(), String.valueOf(factor.getValue()),
|
RowRenderData one = Rows.of(factor.getName(), String.valueOf(factor.getValue()),
|
||||||
String.valueOf(factor.getSpareValue())).center().create();
|
String.valueOf(factor.getSpareValue())).textFontFamily("Hei").textFontSize(9).center().create();
|
||||||
factorTable.addRow(one);
|
factorTable.addRow(one);
|
||||||
}
|
}
|
||||||
WordWarn wordWarn = new WordWarn();
|
WordWarn wordWarn = new WordWarn();
|
||||||
|
@ -409,6 +401,9 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
}
|
}
|
||||||
|
|
||||||
private int processHalfUpPercent(int num, int total) {
|
private int processHalfUpPercent(int num, int total) {
|
||||||
|
if (total == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return BigDecimal.valueOf(num)
|
return BigDecimal.valueOf(num)
|
||||||
.divide(BigDecimal.valueOf(total), 2, RoundingMode.HALF_UP)
|
.divide(BigDecimal.valueOf(total), 2, RoundingMode.HALF_UP)
|
||||||
.multiply(BigDecimal.valueOf(100)).intValue();
|
.multiply(BigDecimal.valueOf(100)).intValue();
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
s.cover,
|
s.cover,
|
||||||
s.questions_num,
|
s.questions_num,
|
||||||
o.url as `coverUrl`,
|
o.url as `coverUrl`,
|
||||||
if(er.status = 1, true, false) as `use`,
|
if(er.status = 1, true, false) as `used`,
|
||||||
er.record_id
|
er.record_id
|
||||||
from sys_evaluation_record er
|
from sys_evaluation_record er
|
||||||
left join sys_scale s on s.scale_id = er.scale_id
|
left join sys_scale s on s.scale_id = er.scale_id
|
||||||
|
@ -88,32 +88,23 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectFactorNum" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
<select id="selectFactorNum" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||||
select sf.factor_name as `name`, count(ec.id) as `value`,0 as spareValue
|
select sf.factor_name as `name`, count(er.record_id) as `value`, 0 as spareValue
|
||||||
from sys_scale_factor sf
|
from sys_scale_factor sf
|
||||||
left join sys_evaluation_conclusion ec on ec.factor_id = sf.factor_id
|
left join sys_evaluation_record er
|
||||||
left join sys_evaluation_record er on er.record_id = ec.record_id
|
on er.scale_id = sf.scale_id and er.status = 1 and er.batch_no = #{batchNo}
|
||||||
where er.batch_no = #{batchNo}
|
where sf.scale_id = #{scaleId}
|
||||||
and er.scale_id = #{scaleId}
|
|
||||||
and er.status = 1
|
|
||||||
and ec.status = 1
|
|
||||||
group by sf.factor_id
|
group by sf.factor_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectFactorWarnNum" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
<select id="selectFactorWarnNum" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||||
select sf.factor_name as `name`, count(ec.id) as `value`
|
select sf.factor_name as `name`, count(er.record_id) as `value`
|
||||||
from sys_scale_factor sf
|
from sys_scale_factor sf
|
||||||
left join sys_evaluation_conclusion ec on ec.factor_id = sf.factor_id
|
left join sys_evaluation_conclusion ec on ec.factor_id = sf.factor_id and ec.status = 1 and ec.situation in
|
||||||
left join sys_evaluation_record er on er.record_id = ec.record_id
|
|
||||||
where er.batch_no = #{batchNo}
|
|
||||||
and er.scale_id = #{scaleId}
|
|
||||||
and er.status = 1
|
|
||||||
and ec.status = 1
|
|
||||||
and ec.situation in
|
|
||||||
<foreach item="situation" collection="list" open="(" separator="," close=")">
|
<foreach item="situation" collection="list" open="(" separator="," close=")">
|
||||||
#{situation}
|
#{situation}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
left join sys_evaluation_record er on er.record_id = ec.record_id and er.status = 1 and er.batch_no = #{batchNo}
|
||||||
|
where sf.scale_id = #{scaleId}
|
||||||
group by sf.factor_id
|
group by sf.factor_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -105,7 +105,8 @@ public class SysRoleController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (roleService.updateRole(role) > 0) {
|
if (roleService.updateRole(role) > 0) {
|
||||||
roleService.cleanOnlineUserByRole(role.getRoleId());
|
//暂时取消这个功能
|
||||||
|
// roleService.cleanOnlineUserByRole(role.getRoleId());
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
return R.fail("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
|
return R.fail("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
|
||||||
|
|
Loading…
Reference in New Issue