|
@@ -41,6 +41,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.text.DecimalFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
@@ -75,6 +76,8 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
@Resource
|
|
@Resource
|
|
CourseWeightService courseWeightService;
|
|
CourseWeightService courseWeightService;
|
|
|
|
|
|
|
|
+ protected final static DecimalFormat df = new DecimalFormat("0.##");
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取课程目标考核分布-分数图
|
|
* 获取课程目标考核分布-分数图
|
|
*
|
|
*
|
|
@@ -472,13 +475,13 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
}
|
|
}
|
|
if (reportEvaluationDtoMap.containsKey(key)) {
|
|
if (reportEvaluationDtoMap.containsKey(key)) {
|
|
BigDecimal targetScore = reportEvaluationDtoMap.get(key).getTargetScore();
|
|
BigDecimal targetScore = reportEvaluationDtoMap.get(key).getTargetScore();
|
|
- rowData.add(targetScore.toString());
|
|
|
|
|
|
+ rowData.add(df.format(targetScore));
|
|
sumScore = sumScore.add(targetScore);
|
|
sumScore = sumScore.add(targetScore);
|
|
} else {
|
|
} else {
|
|
rowData.add("0");
|
|
rowData.add("0");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- rowData.add(sumScore.toString());
|
|
|
|
|
|
+ rowData.add(df.format(sumScore));
|
|
targetSum = targetSum.add(sumScore);
|
|
targetSum = targetSum.add(sumScore);
|
|
rowRenderData2SumMap.put("目标分值统计", targetSum);
|
|
rowRenderData2SumMap.put("目标分值统计", targetSum);
|
|
rowRenderData2[i + 2] = Rows.of(rowData.toArray(new String[header2_2List.size()])).rowStyle(this.getRowStyle()).create();
|
|
rowRenderData2[i + 2] = Rows.of(rowData.toArray(new String[header2_2List.size()])).rowStyle(this.getRowStyle()).create();
|
|
@@ -490,7 +493,7 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
header2FootList.add("合计");
|
|
header2FootList.add("合计");
|
|
header2FootList.add("");
|
|
header2FootList.add("");
|
|
for (int y = 2; y < header2_2List.size(); y++) {
|
|
for (int y = 2; y < header2_2List.size(); y++) {
|
|
- header2FootList.add(rowRenderData2SumMap.get(header2_2List.get(y)).toString());
|
|
|
|
|
|
+ header2FootList.add(df.format(rowRenderData2SumMap.get(header2_2List.get(y))));
|
|
}
|
|
}
|
|
|
|
|
|
RowRenderData header2_foot = Rows.of(header2FootList.toArray(new String[header2_2List.size()])).rowStyle(this.getRowStyle()).create();
|
|
RowRenderData header2_foot = Rows.of(header2FootList.toArray(new String[header2_2List.size()])).rowStyle(this.getRowStyle()).create();
|
|
@@ -536,13 +539,13 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
usualScoreTargetSumWeight3 = usualScoreTargetSumWeight3.add(usualScoreWordDto.getUsualScoreTargetSumWeight());
|
|
usualScoreTargetSumWeight3 = usualScoreTargetSumWeight3.add(usualScoreWordDto.getUsualScoreTargetSumWeight());
|
|
}
|
|
}
|
|
usualScoreTargetSumWeight3 = usualScoreTargetSumWeight3.divide(new BigDecimal(courseTargetWordDtoList.size()), 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
usualScoreTargetSumWeight3 = usualScoreTargetSumWeight3.divide(new BigDecimal(courseTargetWordDtoList.size()), 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
- tableFootTitle3 = tableFootTitle3.replace("${usualScoreSum}", usualScoreSum3.toString());
|
|
|
|
- tableFootTitle3 = tableFootTitle3.replace("${usualScoreSumWeight}", usualScoreTargetSumWeight3.toString());
|
|
|
|
|
|
+ tableFootTitle3 = tableFootTitle3.replace("${usualScoreSum}", df.format(usualScoreSum3));
|
|
|
|
+ tableFootTitle3 = tableFootTitle3.replace("${usualScoreSumWeight}", df.format(usualScoreTargetSumWeight3));
|
|
|
|
|
|
RowRenderData[] rowRenderData3 = new RowRenderData[courseTargetTableBean3List.size() + 2];
|
|
RowRenderData[] rowRenderData3 = new RowRenderData[courseTargetTableBean3List.size() + 2];
|
|
for (int i = 0; i < courseTargetTableBean3List.size(); i++) {
|
|
for (int i = 0; i < courseTargetTableBean3List.size(); i++) {
|
|
CourseTargetTableBean3 courseTargetTableBean3 = courseTargetTableBean3List.get(i);
|
|
CourseTargetTableBean3 courseTargetTableBean3 = courseTargetTableBean3List.get(i);
|
|
- rowRenderData3[i + 1] = Rows.of(courseTargetTableBean3.getNum().toString(), courseTargetTableBean3.getProject(), courseTargetTableBean3.getContent(), courseTargetTableBean3.getTarget().toString(), courseTargetTableBean3.getCourseTarget()).rowStyle(this.getRowStyle()).create();
|
|
|
|
|
|
+ rowRenderData3[i + 1] = Rows.of(courseTargetTableBean3.getNum().toString(), courseTargetTableBean3.getProject(), courseTargetTableBean3.getContent(), df.format(courseTargetTableBean3.getTarget()), courseTargetTableBean3.getCourseTarget()).rowStyle(this.getRowStyle()).create();
|
|
}
|
|
}
|
|
rowRenderData3[0] = header3_1;
|
|
rowRenderData3[0] = header3_1;
|
|
RowRenderData header3_foot = Rows.of(tableFootTitle3, "", "", "", "").center().create();
|
|
RowRenderData header3_foot = Rows.of(tableFootTitle3, "", "", "", "").center().create();
|
|
@@ -584,13 +587,13 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
}
|
|
}
|
|
finalScoreTargetSumWeight4 = finalScoreTargetSumWeight4.divide(new BigDecimal(courseTargetWordDtoList.size()), 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
finalScoreTargetSumWeight4 = finalScoreTargetSumWeight4.divide(new BigDecimal(courseTargetWordDtoList.size()), 2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
String tableFootTitle4 = "合计${dimensionScoreSum}分,占课程总评成绩的${dimensionSumWeight}%";
|
|
String tableFootTitle4 = "合计${dimensionScoreSum}分,占课程总评成绩的${dimensionSumWeight}%";
|
|
- tableFootTitle4 = tableFootTitle4.replace("${dimensionScoreSum}", finalScoreSum4.toString());
|
|
|
|
- tableFootTitle4 = tableFootTitle4.replace("${dimensionSumWeight}", finalScoreTargetSumWeight4.toString());
|
|
|
|
|
|
+ tableFootTitle4 = tableFootTitle4.replace("${dimensionScoreSum}", df.format(finalScoreSum4));
|
|
|
|
+ tableFootTitle4 = tableFootTitle4.replace("${dimensionSumWeight}", df.format(finalScoreTargetSumWeight4));
|
|
|
|
|
|
RowRenderData[] rowRenderData4 = new RowRenderData[courseTargetTableBean4List.size() + 2];
|
|
RowRenderData[] rowRenderData4 = new RowRenderData[courseTargetTableBean4List.size() + 2];
|
|
for (int i = 0; i < courseTargetTableBean4List.size(); i++) {
|
|
for (int i = 0; i < courseTargetTableBean4List.size(); i++) {
|
|
CourseTargetTableBean4 courseTargetTableBean4 = courseTargetTableBean4List.get(i);
|
|
CourseTargetTableBean4 courseTargetTableBean4 = courseTargetTableBean4List.get(i);
|
|
- rowRenderData4[i + 1] = Rows.of(courseTargetTableBean4.getNum().toString(), courseTargetTableBean4.getProject(), courseTargetTableBean4.getContent(), courseTargetTableBean4.getTargetScore().toString(), courseTargetTableBean4.getCourseTarget()).rowStyle(this.getRowStyle()).create();
|
|
|
|
|
|
+ rowRenderData4[i + 1] = Rows.of(courseTargetTableBean4.getNum().toString(), courseTargetTableBean4.getProject(), courseTargetTableBean4.getContent(), df.format(courseTargetTableBean4.getTargetScore()), courseTargetTableBean4.getCourseTarget()).rowStyle(this.getRowStyle()).create();
|
|
}
|
|
}
|
|
rowRenderData4[0] = header4_1;
|
|
rowRenderData4[0] = header4_1;
|
|
RowRenderData header4_foot = Rows.of(tableFootTitle4, "", "", "", "").center().create();
|
|
RowRenderData header4_foot = Rows.of(tableFootTitle4, "", "", "", "").center().create();
|
|
@@ -650,13 +653,8 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
//平常作业
|
|
//平常作业
|
|
if (Objects.nonNull(reportExamStudentUsualScoreDto) && !CollectionUtils.isEmpty(reportExamStudentUsualScoreDto.getScoreList())) {
|
|
if (Objects.nonNull(reportExamStudentUsualScoreDto) && !CollectionUtils.isEmpty(reportExamStudentUsualScoreDto.getScoreList())) {
|
|
List<ReportExamStudentUsualScoreObjDto> reportExamStudentUsualScoreObjDtoList = reportExamStudentUsualScoreDto.getScoreList();
|
|
List<ReportExamStudentUsualScoreObjDto> reportExamStudentUsualScoreObjDtoList = reportExamStudentUsualScoreDto.getScoreList();
|
|
|
|
+ targetUsualScoreSizeMap.put(reportExamStudentTargetDto.getTargetId(), reportExamStudentUsualScoreObjDtoList.size());
|
|
for (ReportExamStudentUsualScoreObjDto reportExamStudentUsualScoreObjDto : reportExamStudentUsualScoreObjDtoList) {
|
|
for (ReportExamStudentUsualScoreObjDto reportExamStudentUsualScoreObjDto : reportExamStudentUsualScoreObjDtoList) {
|
|
- if (!targetUsualScoreSizeMap.containsKey(reportExamStudentTargetDto.getTargetId())) {
|
|
|
|
- targetUsualScoreSizeMap.put(reportExamStudentTargetDto.getTargetId(), 1);
|
|
|
|
- } else {
|
|
|
|
- Integer size = targetUsualScoreSizeMap.get(reportExamStudentTargetDto.getTargetId());
|
|
|
|
- targetUsualScoreSizeMap.put(reportExamStudentTargetDto.getTargetId(), ++size);
|
|
|
|
- }
|
|
|
|
examStudent_cells_1.add(Cells.of("").center().create());
|
|
examStudent_cells_1.add(Cells.of("").center().create());
|
|
examStudent_cells_2.add(Cells.of(reportExamStudentUsualScoreObjDto.getEvaluation()).center().create());
|
|
examStudent_cells_2.add(Cells.of(reportExamStudentUsualScoreObjDto.getEvaluation()).center().create());
|
|
}
|
|
}
|
|
@@ -711,18 +709,18 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
for (ReportExamStudentUsualScoreObjDto reportExamStudentUsualScoreObjDto : reportExamStudentUsualScoreObjDtoList) {
|
|
for (ReportExamStudentUsualScoreObjDto reportExamStudentUsualScoreObjDto : reportExamStudentUsualScoreObjDtoList) {
|
|
switch (trExamStudent.getName()) {
|
|
switch (trExamStudent.getName()) {
|
|
case "目标分":
|
|
case "目标分":
|
|
- examStudent_cells.add(Cells.of(reportExamStudentUsualScoreObjDto.getTargetScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(reportExamStudentUsualScoreObjDto.getTargetScore())).create());
|
|
targetSumScore = targetSumScore.add(reportExamStudentUsualScoreObjDto.getTargetScore());
|
|
targetSumScore = targetSumScore.add(reportExamStudentUsualScoreObjDto.getTargetScore());
|
|
break;
|
|
break;
|
|
case "平均分":
|
|
case "平均分":
|
|
- examStudent_cells.add(Cells.of(reportExamStudentUsualScoreObjDto.getMatrixAvgScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(reportExamStudentUsualScoreObjDto.getMatrixAvgScore())).create());
|
|
targetAvgScore = targetAvgScore.add(new BigDecimal(reportExamStudentUsualScoreObjDto.getMatrixAvgScore()));
|
|
targetAvgScore = targetAvgScore.add(new BigDecimal(reportExamStudentUsualScoreObjDto.getMatrixAvgScore()));
|
|
break;
|
|
break;
|
|
case "各课程目标平均分":
|
|
case "各课程目标平均分":
|
|
- examStudent_cells.add(Cells.of(reportExamStudentTargetDto.getTargetMatrixAvgScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(reportExamStudentTargetDto.getTargetMatrixAvgScore())).create());
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
- examStudent_cells.add(Cells.of(reportExamStudentUsualScoreObjDto.getScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(reportExamStudentUsualScoreObjDto.getScore())).create());
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -732,18 +730,18 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
if (Objects.nonNull(reportExamStudentFinalScoreDto) && !CollectionUtils.isEmpty(reportExamStudentFinalScoreDto.getDimensionList())) {
|
|
if (Objects.nonNull(reportExamStudentFinalScoreDto) && !CollectionUtils.isEmpty(reportExamStudentFinalScoreDto.getDimensionList())) {
|
|
switch (trExamStudent.getName()) {
|
|
switch (trExamStudent.getName()) {
|
|
case "目标分":
|
|
case "目标分":
|
|
- examStudent_cells.add(Cells.of(reportExamStudentFinalScoreDto.getTargetScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(reportExamStudentFinalScoreDto.getTargetScore())).create());
|
|
targetSumScore = targetSumScore.add(reportExamStudentFinalScoreDto.getTargetScore());
|
|
targetSumScore = targetSumScore.add(reportExamStudentFinalScoreDto.getTargetScore());
|
|
break;
|
|
break;
|
|
case "平均分":
|
|
case "平均分":
|
|
- examStudent_cells.add(Cells.of(reportExamStudentFinalScoreDto.getTargetMatrixSumScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(reportExamStudentFinalScoreDto.getTargetMatrixSumScore())).create());
|
|
targetAvgScore = targetAvgScore.add(new BigDecimal(reportExamStudentFinalScoreDto.getTargetMatrixSumScore()));
|
|
targetAvgScore = targetAvgScore.add(new BigDecimal(reportExamStudentFinalScoreDto.getTargetMatrixSumScore()));
|
|
break;
|
|
break;
|
|
case "各课程目标平均分":
|
|
case "各课程目标平均分":
|
|
- examStudent_cells.add(Cells.of(reportExamStudentTargetDto.getTargetMatrixAvgScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(reportExamStudentTargetDto.getTargetMatrixAvgScore())).create());
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
- examStudent_cells.add(Cells.of(reportExamStudentFinalScoreDto.getTargetMatrixSumScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(reportExamStudentFinalScoreDto.getTargetMatrixSumScore())).create());
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -752,16 +750,16 @@ public class TRBasicInfoServiceImpl extends ServiceImpl<TRBasicInfoMapper, TRBas
|
|
}
|
|
}
|
|
switch (trExamStudent.getName()) {
|
|
switch (trExamStudent.getName()) {
|
|
case "目标分":
|
|
case "目标分":
|
|
- examStudent_cells.add(Cells.of(targetSumScore.setScale(2, BigDecimal.ROUND_HALF_UP).toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(targetSumScore.setScale(2, BigDecimal.ROUND_HALF_UP))).create());
|
|
break;
|
|
break;
|
|
case "平均分":
|
|
case "平均分":
|
|
- examStudent_cells.add(Cells.of(targetAvgScore.setScale(2, BigDecimal.ROUND_HALF_UP).toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(targetAvgScore.setScale(2, BigDecimal.ROUND_HALF_UP))).create());
|
|
break;
|
|
break;
|
|
case "各课程目标平均分":
|
|
case "各课程目标平均分":
|
|
examStudent_cells.add(Cells.of("").create());
|
|
examStudent_cells.add(Cells.of("").create());
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
- examStudent_cells.add(Cells.of(trExamStudent.getScore().toString()).create());
|
|
|
|
|
|
+ examStudent_cells.add(Cells.of(df.format(trExamStudent.getScore())).create());
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
examStudent_row.setCells(examStudent_cells);
|
|
examStudent_row.setCells(examStudent_cells);
|