|
@@ -11,6 +11,7 @@ import cn.com.qmth.stmms.ms.core.domain.user.MarkUser;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.user.Role;
|
|
|
import cn.com.qmth.stmms.ms.core.repository.*;
|
|
|
import cn.com.qmth.stmms.ms.core.vo.Subject;
|
|
|
+import cn.com.qmth.stmms.ms.marking.api.MarkTaskApi;
|
|
|
import cn.com.qmth.stmms.ms.marking.config.MarkingConfig;
|
|
|
import cn.com.qmth.stmms.ms.marking.service.arbitration.ArbitrationService;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
@@ -126,7 +127,10 @@ public class MarkingService {
|
|
|
*/
|
|
|
|
|
|
MarkUser maker = markUserRepo.findOne(markTask.getMarkerId());
|
|
|
- Level level = levelRepo.findByWorkIdAndCode(markTask.getWorkId(), levelCode);
|
|
|
+
|
|
|
+ List<Level> levels = levelRepo.findByWorkId(paper.getWorkId());
|
|
|
+// Level level = levelRepo.findByWorkIdAndCode(markTask.getWorkId(), levelCode);
|
|
|
+ Level level = levels.stream().filter(m->levelCode.equals(m.getCode())).findFirst().get();
|
|
|
|
|
|
markTask.setResult(levelCode);
|
|
|
markTask.setLevelValue(level.getLevelValue());
|
|
@@ -178,6 +182,7 @@ public class MarkingService {
|
|
|
paper.setShift(false);
|
|
|
//重新分档,打回科组长打回状态改为false
|
|
|
paper.setRejectedByLeader(false);
|
|
|
+ paper.setSortNum(calcSortNum(paper, markTasks, levels));
|
|
|
paperRepo.save(paper);
|
|
|
|
|
|
//同步mark_task表中level
|
|
@@ -286,10 +291,12 @@ public class MarkingService {
|
|
|
// throw new RuntimeException("标准卷上限已达到");
|
|
|
// }
|
|
|
// }
|
|
|
+ List<Level> levels = levelRepo.findByWorkId(paper.getWorkId());
|
|
|
+
|
|
|
paper.determineLevel(level);
|
|
|
paper.setMarkByLeader(true);
|
|
|
paper.setSample(isSample);
|
|
|
- paperRepo.save(paper);
|
|
|
+
|
|
|
List<MarkTask> markTasks = markTaskRepo.findByPaperIdAndStage(paper.getId(), MarkStage.LEVEL);
|
|
|
for (MarkTask markTask : markTasks) {
|
|
|
// markTask.setOriginLevel(markTask.getResult());
|
|
@@ -299,6 +306,9 @@ public class MarkingService {
|
|
|
markTask.setSample(paper.isSample());
|
|
|
}
|
|
|
markTaskRepo.save(markTasks);
|
|
|
+
|
|
|
+ paper.setSortNum(calcSortNum(paper, markTasks, levels));
|
|
|
+ paperRepo.save(paper);
|
|
|
levelsLog(markTasks, paper);
|
|
|
return paper;
|
|
|
}
|
|
@@ -476,4 +486,16 @@ public class MarkingService {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ public static Integer calcSortNum(Paper paper, List<MarkTask> markTaskList, List<Level> levels){
|
|
|
+ //计算levelValue和(试评阶段不用)
|
|
|
+ if(paper.getTest() == 0 && Objects.nonNull(paper.getLevel())) {
|
|
|
+ if(!levels.isEmpty() && levels.size() > 0){
|
|
|
+ Map<String, Integer> map = levels.stream().collect(Collectors.toMap(Level::getCode, Level::getWeight));
|
|
|
+ int sum = markTaskList.stream().mapToInt(m-> map.get(m.getResult()) == null ? 0 : map.get(m.getResult())).sum();
|
|
|
+ return sum;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
}
|