[修改]场景实训结束后的评分展示中增加非用户角色的步骤(并增加每个步骤对应的角色id,非用户角色步骤没有分数)
All checks were successful
CI / Docker-Build (push) Successful in 6m56s
All checks were successful
CI / Docker-Build (push) Successful in 6m56s
This commit is contained in:
parent
98abf0691a
commit
9c9e7c60e3
@ -16,8 +16,6 @@ import club.joylink.rtss.simulation.cbtc.GroupSimulationService;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.SimulationLifeCycleService;
|
||||
import club.joylink.rtss.simulation.cbtc.SimulationService;
|
||||
import club.joylink.rtss.simulation.cbtc.conversation.ConversationGroup;
|
||||
import club.joylink.rtss.simulation.cbtc.conversation.ConversationMember;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Switch;
|
||||
import club.joylink.rtss.simulation.cbtc.data.vo.ConversationMessageVO;
|
||||
import club.joylink.rtss.simulation.cbtc.data.vo.Training2MessageVO;
|
||||
@ -317,7 +315,7 @@ public class Training2Service {
|
||||
Map<Long, Float> scoreMap = new HashMap<>();
|
||||
if (!CollectionUtils.isEmpty(training2.getScoringRules())) {
|
||||
training2.getScoringRules().stream()
|
||||
.filter(score -> Objects.equals(score.getMember().getId(), member.getId()))
|
||||
// .filter(score -> Objects.equals(score.getMember().getId(), member.getId()))
|
||||
.findFirst().ifPresent(scoringRule2 -> scoringRule2.getDetails()
|
||||
.forEach(d -> scoreMap.put(d.getStep().getId(), d.getScore())));
|
||||
}
|
||||
@ -327,20 +325,24 @@ public class Training2Service {
|
||||
scoreDetailList.forEach(d -> answerDetailMap.put(d.getStepId(), d));
|
||||
}
|
||||
return training2.getSteps().stream()
|
||||
.filter(s -> Objects.equals(s.getSimulationMember().getId(), member.getId()))
|
||||
// .filter(s -> Objects.equals(s.getSimulationMember().getId(), member.getId()))
|
||||
.map(step -> {
|
||||
PaperTrainAnswerDetail detail = new PaperTrainAnswerDetail();
|
||||
detail.setMemberId(step.getSimulationMember().getId());
|
||||
detail.setStepId(step.getId());
|
||||
detail.setHaveRule(scoreMap.containsKey(step.getId()));
|
||||
if (answerDetailMap.containsKey(step.getId())) {
|
||||
detail.setSuccess(answerDetailMap.get(step.getId()).isSuccess());
|
||||
detail.setScore(
|
||||
detail.isHaveRule() && detail.isSuccess() ? scoreMap.get(step.getId()) : 0F);
|
||||
detail.setClientOperations(answerDetailMap.get(step.getId()).getClientOperations());
|
||||
detail.setNotExistAppend(true);
|
||||
}
|
||||
if (detail.isHaveRule()) {
|
||||
detail.setRuleScore(scoreMap.get(step.getId()));
|
||||
detail.setRuleScore(scoreMap.get(step.getId()));
|
||||
if (!Objects.equals(step.getSimulationMember().getId(), member.getId())) {
|
||||
detail.setSuccess(true);
|
||||
detail.setScore(detail.getRuleScore());
|
||||
} else {
|
||||
if (answerDetailMap.containsKey(step.getId())) {
|
||||
detail.setSuccess(answerDetailMap.get(step.getId()).isSuccess());
|
||||
detail.setScore(
|
||||
detail.isHaveRule() && detail.isSuccess() ? scoreMap.get(step.getId()) : 0F);
|
||||
detail.setClientOperations(answerDetailMap.get(step.getId()).getClientOperations());
|
||||
detail.setNotExistAppend(true);
|
||||
}
|
||||
}
|
||||
return detail;
|
||||
}).collect(Collectors.toList());
|
||||
|
@ -1,48 +1,52 @@
|
||||
package club.joylink.rtss.vo.paper;
|
||||
|
||||
import club.joylink.rtss.vo.client.training2.Operation2VO;
|
||||
import java.util.List;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class PaperTrainAnswerDetail {
|
||||
|
||||
/**
|
||||
* 实训步骤id
|
||||
*/
|
||||
private Long stepId;
|
||||
/**
|
||||
* 实训步骤id
|
||||
*/
|
||||
private Long stepId;
|
||||
|
||||
/**
|
||||
* 实训是否成功
|
||||
*/
|
||||
private boolean success;
|
||||
/**
|
||||
* 实训是否成功
|
||||
*/
|
||||
private boolean success;
|
||||
|
||||
/**
|
||||
* 获得的分数
|
||||
*/
|
||||
private Float score;
|
||||
/**
|
||||
* 获得的分数
|
||||
*/
|
||||
private Float score;
|
||||
|
||||
/**
|
||||
* 规则设置的分数
|
||||
*/
|
||||
private Float ruleScore;
|
||||
/**
|
||||
* 规则设置的分数
|
||||
*/
|
||||
private Float ruleScore;
|
||||
|
||||
/**
|
||||
* 是否有打分规则
|
||||
*/
|
||||
private boolean haveRule;
|
||||
/**
|
||||
* 是否有打分规则
|
||||
*/
|
||||
private boolean haveRule;
|
||||
|
||||
private boolean notExistAppend;
|
||||
/**
|
||||
* 客户端操作的实训,对应的id必须要传
|
||||
*/
|
||||
private List<TrainOperations> clientOperations;
|
||||
private boolean notExistAppend;
|
||||
/**
|
||||
* 客户端操作的实训,对应的id必须要传
|
||||
*/
|
||||
private List<TrainOperations> clientOperations;
|
||||
|
||||
/**
|
||||
* 步骤对应的成员的id
|
||||
*/
|
||||
private String memberId;
|
||||
|
||||
|
||||
public static class TrainOperations extends Operation2VO.ClientOperation2VO{
|
||||
public static class TrainOperations extends Operation2VO.ClientOperation2VO {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user