diff --git a/backend/src/main/java/com/budwk/app/module/activity/controller/ActScoreEnterController.java b/backend/src/main/java/com/budwk/app/module/activity/controller/ActScoreEnterController.java index 838ad36..123be7d 100644 --- a/backend/src/main/java/com/budwk/app/module/activity/controller/ActScoreEnterController.java +++ b/backend/src/main/java/com/budwk/app/module/activity/controller/ActScoreEnterController.java @@ -166,14 +166,31 @@ public class ActScoreEnterController { """).setParam("activityId", activityId); List listMap = activityService.listMap(sql); List itemList = activityService.dao().query(ActivityItem.class, Cnd.where(ActivityItem::getActivityId, "=", activityId).asc(ActivityItem::getSort)); + itemList.forEach(item -> { + item.setScoreName("得分"); + item.setRankingName("名次"); + }); ActivityItem activityItem = new ActivityItem(); activityItem.setName("总分"); activityItem.setId(0L); itemList.add(activityItem); List scoreList = dao.query(ActItemGroupScore.class, Cnd.where(ActItemGroupScore::getActivityId, "=", activityId)); - listMap.stream().forEach(group -> { - itemList.forEach(item -> { + List> itemLists = new ArrayList<>(); + + Map itemListMap = new HashMap<>(); + itemList.forEach(item -> { + itemListMap.put("name",item.getName()); + itemListMap.put("scoreName","成绩"); + itemListMap.put("rankingName","名次"); + itemListMap.put("scoreVal","t." + item.getName() + ".score"); + itemListMap.put("rankingVal","t." + item.getName() + ".ranking"); + itemLists.add(itemListMap); + }); + for (int j = 0; j < listMap.size(); j++) { + NutMap group = listMap.get(j); + for (int i = 0; i < itemList.size(); i++) { + ActivityItem item = itemList.get(i); if (item.getId() == 0) { BigDecimal totalScore = scoreList.stream().filter(score -> score.getGroupId().equals(group.getLong("id")) && score.getScore() != null).map(ActItemGroupScore::getScore).reduce(BigDecimal::add).orElse(new BigDecimal(0)); group.put("totalScore", totalScore); @@ -181,14 +198,14 @@ public class ActScoreEnterController { ActItemGroupScore itemGroupScore = scoreList.stream().filter(score -> score.getGroupId().equals(group.getLong("id")) && score.getItemId().equals(item.getId())).findFirst().orElse(null); - group.put(item.getName() + "score", itemGroupScore.getScore()); - group.put(item.getName() + "ranking", itemGroupScore.getRanking()); + group.put("score", itemGroupScore.getScore()); + group.put("ranking", itemGroupScore.getRanking()); } - }); - }); + } + } Map map = new HashMap(); map.put("mapList", listMap); - map.put("title", activity.getTitle()); + map.put("activityName", activity.getTitle()); map.put("itemList", itemList); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;filename=" + new String((activity.getTitle() + "评分表.xlsx").getBytes(StandardCharsets.UTF_8), "ISO8859-1")); diff --git a/backend/src/main/java/com/budwk/app/module/activity/models/ActivityItem.java b/backend/src/main/java/com/budwk/app/module/activity/models/ActivityItem.java index 572cc6a..8659baf 100644 --- a/backend/src/main/java/com/budwk/app/module/activity/models/ActivityItem.java +++ b/backend/src/main/java/com/budwk/app/module/activity/models/ActivityItem.java @@ -55,4 +55,8 @@ public class ActivityItem extends BaseModel { @Column @ColDefine(type = ColType.INT) private Integer sort; + private String scoreName; + private String rankingName; + private String scoreVal; + private String rankingVal; } diff --git a/backend/src/main/resources/templates/scoreEnter.xlsx b/backend/src/main/resources/templates/scoreEnter.xlsx index 7d16646..6880a0e 100644 Binary files a/backend/src/main/resources/templates/scoreEnter.xlsx and b/backend/src/main/resources/templates/scoreEnter.xlsx differ