..
This commit is contained in:
+15
-26
@@ -25,7 +25,10 @@ import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
@@ -49,28 +52,6 @@ public class ActScoreEnterController {
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At()
|
||||
@SaCheckPermission("activity.scoreEnter")
|
||||
public Result getActivityOptions(Integer year) {
|
||||
return Result.success(activityService.dao().query(Activity.class, Cnd.NEW().andEX("YEAR(startTime)", "=", year)));
|
||||
}
|
||||
|
||||
@At()
|
||||
@SaCheckPermission("activity.scoreEnter")
|
||||
public Result pageData(ActScoreEnterPageForm pageForm) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
t1.*
|
||||
FROM
|
||||
`activity_item` t1
|
||||
WHERE t1.activityId=@id
|
||||
ORDER BY t1.sort asc
|
||||
""").setParam("id", pageForm.getActivityId());
|
||||
|
||||
return Result.success(activityService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql));
|
||||
}
|
||||
|
||||
|
||||
@At("/list-activity")
|
||||
@SaCheckPermission("activity.scoreEnter")
|
||||
@ApiOperation(value = "获取活动列表", nickname = "/list-activity", httpMethod = "GET")
|
||||
@@ -91,7 +72,6 @@ public class ActScoreEnterController {
|
||||
public Result listGroup(Long activityId) {
|
||||
List<ActGroup> groupList = activityService.dao().query(ActGroup.class, Cnd.where(ActGroup::getActivityId, "=", activityId));
|
||||
return Result.success(groupList);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -110,7 +90,7 @@ public class ActScoreEnterController {
|
||||
|
||||
@At("/list-item-score/?")
|
||||
@SaCheckPermission("activity.scoreEnter")
|
||||
@ApiOperation(value = "获取项目列表", nickname = "/list-item-score", httpMethod = "GET")
|
||||
@ApiOperation(value = "获取队伍项目成绩", nickname = "/list-item-score", httpMethod = "GET")
|
||||
public Result listItemScore(Long activityId) {
|
||||
List<ActItemGroupScore> scoreList = dao.query(ActItemGroupScore.class, Cnd.where(ActItemGroupScore::getActivityId, "=", activityId));
|
||||
return Result.success(scoreList);
|
||||
@@ -119,7 +99,7 @@ public class ActScoreEnterController {
|
||||
@At("/save-score")
|
||||
@SaCheckPermission("activity.scoreEnter")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@ApiOperation(value = "保存成绩", nickname = "/list-activity", httpMethod = "POST")
|
||||
@ApiOperation(value = "保存成绩", nickname = "/save-score", httpMethod = "POST")
|
||||
public Result saveScore(ActItemScoreVo actItemScoreVo) {
|
||||
List<ActivityItem> itemList = dao.query(ActivityItem.class, Cnd.where(ActivityItem::getActivityId, "=", actItemScoreVo.getActivityId()));
|
||||
// dao.clear(ActItemGroupScore.class, Cnd.where(ActItemGroupScore::getActivityId, "=", actItemScoreVo.getActivityId()));
|
||||
@@ -144,8 +124,17 @@ public class ActScoreEnterController {
|
||||
activityItemScores.add(score);
|
||||
});
|
||||
});
|
||||
|
||||
dao.update(activityItemScores);
|
||||
|
||||
// 更新队伍得分及排名
|
||||
List<ActGroup> groups = dao.query(ActGroup.class, Cnd.where(ActGroup::getActivityId, "=", actItemScoreVo.getActivityId()));
|
||||
for (ActGroup group : groups) {
|
||||
List<ActItemGroupScore> groupScores = activityItemScores.stream().filter(item -> item.getGroupId().equals(group.getId())).collect(Collectors.toList());
|
||||
groupScores.stream().map(v -> v.getScore()).reduce(BigDecimal::add).ifPresent(group::setTotalScore);
|
||||
}
|
||||
groups.sort(Comparator.comparing(ActGroup::getTotalScore).reversed());
|
||||
IntStream.range(0, groups.size()).forEach(i -> groups.get(i).setTotalRank(i + 1));
|
||||
dao.update(groups, "totalScore|totalRank");
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@@ -182,20 +182,19 @@ layout("/layouts/platform_1.html"){
|
||||
cellClick(row, column) {
|
||||
},
|
||||
// 保存成绩
|
||||
saveScore() {
|
||||
async saveScore() {
|
||||
const formData = {
|
||||
activityId: this.pageForm.activityId,
|
||||
data: JSON.stringify(this.tableData)
|
||||
}
|
||||
$.post("/platform/activity/scoreEnter/save-score", formData).then(async res => {
|
||||
if (res.code === 0) {
|
||||
await this.listItemScore()
|
||||
this.buildTableData()
|
||||
this.$message.success("保存成功")
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
const {code,data,msg} = await $.post("/platform/activity/scoreEnter/save-score", formData)
|
||||
if (code === 0) {
|
||||
await this.listItemScore()
|
||||
this.buildTableData()
|
||||
this.$message.success("保存成功")
|
||||
}else{
|
||||
this.$message.error(msg)
|
||||
}
|
||||
console.log(this.tableData)
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user