|
@@ -202,19 +202,19 @@ public class StageControlService {
|
|
|
if (Objects.nonNull(scoreConfig) && Objects.nonNull(scoreConfig.getExclude()) && scoreConfig.getExclude().size() > 0) {
|
|
|
List<String> configLevelList = scoreConfig.getExclude();
|
|
|
configLevelList = configLevelList.stream().map(string -> string.trim().toUpperCase()).collect(Collectors.toList());
|
|
|
- long levelCount = levelRepo.countByCodeIn(configLevelList);
|
|
|
+ long levelCount = levelRepo.countByWorkIdAndCodeIn(workId, configLevelList);
|
|
|
if (levelCount == 0) {
|
|
|
statusMap.put(markSubject.getId(), false);
|
|
|
throw new RuntimeException("配置的档位:" + configLevelList + "不存在");
|
|
|
}
|
|
|
- List<Level> levels = levelRepo.findByCodeNotIn(configLevelList);
|
|
|
+ List<Level> levels = levelRepo.findByWorkIdAndCodeNotIn(workId, configLevelList);
|
|
|
List<String> levelList = levels.stream().map(Level::getCode).collect(Collectors.toList());
|
|
|
Collections.sort(levelList);
|
|
|
Object o1 = levelList.stream().map(s -> "'" + s + "'").collect(Collectors.joining(","));
|
|
|
StringJoiner joiner = new StringJoiner("");
|
|
|
- joiner.add("select count(1),p.`level` from mark_task mt left join paper p on p.id = mt.paper_id where mt.stage = 2 and p.`level` in (").add(o1.toString()).add(")");
|
|
|
+ joiner.add("select count(1),p.`level` from mark_task mt left join paper p on p.id = mt.paper_id where mt.stage = 2 and p.`level` in (").add(o1.toString()).add(") and mt.work_id = ? ");
|
|
|
String sql = sqlUtil.sqlGroupBy(joiner.toString(), "p.`level`");
|
|
|
- List list = sqlUtil.execSqlForMap(sql);
|
|
|
+ List list = sqlUtil.execSqlForMap(sql, workId);
|
|
|
List<String> finalLevelList = new ArrayList();
|
|
|
if (Objects.isNull(list) || list.size() == 0) {
|
|
|
finalLevelList.addAll(levelList);
|
|
@@ -240,9 +240,9 @@ public class StageControlService {
|
|
|
Collections.sort(levelList);
|
|
|
Object o1 = levelList.stream().map(s -> "'" + s + "'").collect(Collectors.joining(","));
|
|
|
StringJoiner joiner = new StringJoiner("");
|
|
|
- joiner.add("select count(1),p.`level` from mark_task mt left join paper p on p.id = mt.paper_id where mt.stage = 2 and p.`level` in (").add(o1.toString()).add(")");
|
|
|
+ joiner.add("select count(1),p.`level` from mark_task mt left join paper p on p.id = mt.paper_id where mt.stage = 2 and p.`level` in (").add(o1.toString()).add(") and mt.work_id = ? ");
|
|
|
String sql = sqlUtil.sqlGroupBy(joiner.toString(), "p.`level`");
|
|
|
- List list = sqlUtil.execSqlForMap(sql);
|
|
|
+ List list = sqlUtil.execSqlForMap(sql, workId);
|
|
|
List<String> finalLevelList = new ArrayList();
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
Map map = (Map) list.get(i);
|
|
@@ -253,8 +253,8 @@ public class StageControlService {
|
|
|
if (finalLevelList.size() > 0) {
|
|
|
joiner = new StringJoiner("");
|
|
|
Object o2 = finalLevelList.stream().map(s -> "'" + s + "'").collect(Collectors.joining(","));
|
|
|
- joiner.add("select count(1) as count from mark_task mt left join paper p on p.id = mt.paper_id where mt.stage = 2 and p.`level` in (").add(o2.toString()).add(")").add(" and mt.`result` is null");
|
|
|
- list = sqlUtil.execSqlForMap(joiner.toString());
|
|
|
+ joiner.add("select count(1) as count from mark_task mt left join paper p on p.id = mt.paper_id where mt.stage = 2 and p.`level` in (").add(o2.toString()).add(")").add(" and mt.`result` is null and mt.work_id = ? ");
|
|
|
+ list = sqlUtil.execSqlForMap(joiner.toString(), workId);
|
|
|
if (Objects.nonNull(list) && list.size() > 0) {
|
|
|
Map map = (Map) list.get(0);
|
|
|
int taskCount = Integer.parseInt(String.valueOf(map.get("count")));
|