|
|
@@ -4,215 +4,182 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.page.ConventPage;
|
|
|
-import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
-import com.xjrsoft.module.base.entity.BaseSemester;
|
|
|
-import com.xjrsoft.module.base.mapper.BaseClassMapper;
|
|
|
import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDetailDto;
|
|
|
import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDto;
|
|
|
import com.xjrsoft.module.evaluate.dto.EvaluateResultIndexPageDto;
|
|
|
import com.xjrsoft.module.evaluate.dto.ResultViewingPageDto;
|
|
|
-import com.xjrsoft.module.evaluate.entity.*;
|
|
|
-import com.xjrsoft.module.evaluate.mapper.*;
|
|
|
+import com.xjrsoft.module.evaluate.entity.EvaluateExecuter;
|
|
|
+import com.xjrsoft.module.evaluate.entity.EvaluateManageItem;
|
|
|
+import com.xjrsoft.module.evaluate.entity.EvaluateObject;
|
|
|
+import com.xjrsoft.module.evaluate.entity.EvaluateResult;
|
|
|
+import com.xjrsoft.module.evaluate.mapper.EvaluateExecuterMapper;
|
|
|
+import com.xjrsoft.module.evaluate.mapper.EvaluateManageItemMapper;
|
|
|
+import com.xjrsoft.module.evaluate.mapper.EvaluateObjectMapper;
|
|
|
+import com.xjrsoft.module.evaluate.mapper.EvaluateResultMapper;
|
|
|
import com.xjrsoft.module.evaluate.service.IEvaluateResultService;
|
|
|
-import com.xjrsoft.module.evaluate.vo.*;
|
|
|
-import com.xjrsoft.module.organization.entity.Department;
|
|
|
-import com.xjrsoft.module.system.entity.DictionaryDetail;
|
|
|
+import com.xjrsoft.module.evaluate.vo.EvaluateResultDetailPageDetailVo;
|
|
|
+import com.xjrsoft.module.evaluate.vo.EvaluateResultDetailPageVo;
|
|
|
+import com.xjrsoft.module.evaluate.vo.EvaluateResultIndexPageVo;
|
|
|
+import com.xjrsoft.module.evaluate.vo.ResultViewingPageVo;
|
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
-import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
-* @title: 评价结果
|
|
|
-* @Author szs
|
|
|
-* @Date: 2024-01-16
|
|
|
-* @Version 1.0
|
|
|
-*/
|
|
|
+ * @title: 评价结果
|
|
|
+ * @Author szs
|
|
|
+ * @Date: 2024-01-16
|
|
|
+ * @Version 1.0
|
|
|
+ */
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
|
public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResultMapper, EvaluateResult> implements IEvaluateResultService {
|
|
|
|
|
|
- private EvaluateManageMapper evaluateManageMapper;
|
|
|
-
|
|
|
private EvaluateObjectMapper evaluateObjectMapper;
|
|
|
|
|
|
- private EvaluateExecuterMapper evaluateExecuterMapper;
|
|
|
-
|
|
|
- private XjrUserMapper xjrUserMapper;
|
|
|
-
|
|
|
- private BaseClassMapper baseClassMapper;
|
|
|
-
|
|
|
private EvaluateResultMapper evaluateResultMapper;
|
|
|
|
|
|
private EvaluateManageItemMapper evaluateManageItemMapper;
|
|
|
|
|
|
+ private EvaluateExecuterMapper evaluateExecuterMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<EvaluateResultIndexPageVo> getIndexPage(EvaluateResultIndexPageDto dto) {
|
|
|
- MPJLambdaWrapper<EvaluateManage> evaluateManageMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
- evaluateManageMPJLambdaWrapper
|
|
|
- .selectAs(EvaluateManage::getId, EvaluateResultIndexPageVo::getEvaluateManageId)
|
|
|
- .selectAs(BaseSemester::getName, EvaluateResultIndexPageVo::getSemesterName)
|
|
|
- .selectAs(Department::getName, EvaluateResultIndexPageVo::getOrgName)
|
|
|
- .selectAs(DictionaryDetail::getName, EvaluateResultIndexPageVo::getEvaluateTypeCN)
|
|
|
- .select(EvaluateManage.class, x -> VoToColumnUtil.fieldsToColumns(EvaluateResultIndexPageVo.class).contains(x.getProperty()))
|
|
|
- .leftJoin(BaseSemester.class, BaseSemester::getId, EvaluateManage::getBaseSemesterId)
|
|
|
- .leftJoin(Department.class, Department::getId, EvaluateManage::getOrgId)
|
|
|
- .leftJoin(EvaluateTemplate.class, EvaluateTemplate::getId, EvaluateManage::getEvaluateTemplateId)
|
|
|
- .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, EvaluateTemplate::getEvaluateType)
|
|
|
- .eq((dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0), EvaluateManage::getBaseSemesterId, dto.getBaseSemesterId())
|
|
|
- .eq((dto.getOrgId() != null && dto.getOrgId() > 0), EvaluateManage::getOrgId, dto.getOrgId())
|
|
|
- .eq((dto.getEvaluateType() != null && dto.getEvaluateType().equals("")), EvaluateTemplate::getEvaluateType, dto.getEvaluateType())
|
|
|
- .like((dto.getName() != null && dto.getName().equals("")), EvaluateManage::getName, dto.getName())
|
|
|
- .gt((dto.getStartTime() != null), EvaluateManage::getStartTime, dto.getStartTime())
|
|
|
- .lt((dto.getEndTime() != null), EvaluateManage::getEndTime, dto.getEndTime())
|
|
|
- .orderByDesc(EvaluateResult::getId);
|
|
|
-
|
|
|
- IPage<EvaluateResultIndexPageVo> page = evaluateManageMapper.selectJoinPage(ConventPage.getPage(dto), EvaluateResultIndexPageVo.class, evaluateManageMPJLambdaWrapper);
|
|
|
+ IPage<EvaluateResultIndexPageVo> page = evaluateResultMapper.getIndexPage(ConventPage.getPage(dto), dto);
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public IPage<EvaluateResultDetailPageVo> getDetailPage(EvaluateResultDetailPageDto dto) {
|
|
|
+ //获取当前评价管理下的所有记录的page
|
|
|
IPage<EvaluateResultDetailPageVo> page = evaluateResultMapper.getDetailPage(ConventPage.getPage(dto), dto);
|
|
|
- if(page.getRecords() != null && page.getRecords().size() > 0){
|
|
|
- for (EvaluateResultDetailPageVo e : page.getRecords()) {
|
|
|
- if(e.getObjectType().equals("teacher") || e.getObjectType().equals("student")){
|
|
|
- XjrUser user = xjrUserMapper.selectById(e.getObjectId());
|
|
|
- if (user != null){
|
|
|
- e.setObjectIdCN(user.getName());
|
|
|
- }
|
|
|
- }
|
|
|
- if(e.getObjectType().equals("class")){
|
|
|
- BaseClass baseClass = baseClassMapper.selectById(e.getObjectId());
|
|
|
- if(baseClass != null){
|
|
|
- e.setObjectIdCN(baseClass.getName());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public EvaluateResultDetailPageDetailVo getDetailPageDetail(EvaluateResultDetailPageDetailDto dto) {
|
|
|
- //根据评价管理编号获取当前评价管理相关信息
|
|
|
- MPJLambdaWrapper<EvaluateManage> evaluateManageMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
- evaluateManageMPJLambdaWrapper
|
|
|
- .selectAs(EvaluateManage::getName, EvaluateResultDetailPageDetailVo::getName)
|
|
|
- .selectAs(EvaluateTemplate::getTotal, EvaluateResultDetailPageDetailVo::getTotal)
|
|
|
- .leftJoin(EvaluateTemplate.class, EvaluateTemplate::getId, EvaluateManage::getEvaluateTemplateId)
|
|
|
- .eq(EvaluateManage::getId, dto.getEvaluateManageId());
|
|
|
- EvaluateResultDetailPageDetailVo evaluateResultDetailPageDetailVo = evaluateManageMapper.selectJoinOne(EvaluateResultDetailPageDetailVo.class, evaluateManageMPJLambdaWrapper);
|
|
|
- if(evaluateResultDetailPageDetailVo == null){
|
|
|
+ //根据评价管理主键编号,被评对象id,执行人id获取总得分,被评对象名字,执行人名字,评价管理名字,题目满分
|
|
|
+ EvaluateResultDetailPageDetailVo evaluateResultDetailPageDetailVo = evaluateResultMapper.getDetailPageDetail(dto);
|
|
|
+
|
|
|
+ if (evaluateResultDetailPageDetailVo == null) {
|
|
|
return evaluateResultDetailPageDetailVo;
|
|
|
}
|
|
|
|
|
|
- //根据评价管理主键编号,被评对象id,参评人id获取相关信息
|
|
|
- MPJLambdaWrapper<EvaluateResult> evaluateResultMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
- evaluateResultMPJLambdaWrapper
|
|
|
- .selectSum(EvaluateResult::getScore, EvaluateResultDetailPageDetailVo::getActulTotal)
|
|
|
- .leftJoin(EvaluateObject.class, EvaluateObject::getId, EvaluateResult::getEvaluatedObjectId)
|
|
|
- .leftJoin(XjrUser.class,XjrUser::getId,EvaluateObject::getObjectId,ext->ext
|
|
|
- .selectAs(XjrUser::getName,EvaluateResultDetailPageDetailVo::getObjectIdCN))
|
|
|
- .leftJoin(XjrUser.class,XjrUser::getId,EvaluateResult::getUserId,ext->ext
|
|
|
- .selectAs(XjrUser::getName,EvaluateResultDetailPageDetailVo::getUserIdCN))
|
|
|
- .eq(EvaluateObject::getEvaluateManageId, dto.getEvaluateManageId())
|
|
|
- .eq(EvaluateObject::getId, dto.getEvaluatedObjectId())
|
|
|
- .eq(EvaluateResult::getUserId, dto.getUserId());
|
|
|
- EvaluateResultDetailPageDetailVo evaluateResult = evaluateManageMapper.selectJoinOne(EvaluateResultDetailPageDetailVo.class, evaluateManageMPJLambdaWrapper);
|
|
|
- evaluateResultDetailPageDetailVo.setActulTotal(evaluateResult.getActulTotal());
|
|
|
- evaluateResultDetailPageDetailVo.setObjectIdCN(evaluateResult.getObjectIdCN());
|
|
|
- evaluateResultDetailPageDetailVo.setUserIdCN(evaluateResult.getUserIdCN());
|
|
|
-
|
|
|
- //获取模板下的所有评价子项集合
|
|
|
- MPJLambdaWrapper<EvaluateManageItem> evaluateManageItemMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
- evaluateManageItemMPJLambdaWrapper
|
|
|
- .select(EvaluateManageItem::getId)
|
|
|
- .selectAs(EvaluateResult::getScore, EvaluateManageItemVo::getActualScore)
|
|
|
- .selectAs(EvaluateResult::getOpinion, EvaluateManageItemVo::getOpinion)
|
|
|
- .select(EvaluateManageItem.class, x -> VoToColumnUtil.fieldsToColumns(EvaluateManageItemVo.class).contains(x.getProperty()))
|
|
|
- .leftJoin(EvaluateResult.class, EvaluateResult::getEvaluateItemId, EvaluateManageItem::getEvaluateItemId)
|
|
|
- .eq(EvaluateManageItem::getEvaluateManageId, dto.getEvaluateManageId());
|
|
|
-
|
|
|
- List<EvaluateManageItemVo> evaluateManageItemVos = evaluateManageItemMapper.selectJoinList(EvaluateManageItemVo.class, evaluateManageItemMPJLambdaWrapper);
|
|
|
-
|
|
|
- Map<String, List<EvaluateManageItemVo>> groupedEvaluateManageItemVo = evaluateManageItemVos.stream()
|
|
|
- .collect(Collectors.groupingBy(EvaluateManageItemVo::getTopic));
|
|
|
-
|
|
|
- List<EvaluateManageItemByTopicVo> evaluateManageItemByTopicVoArrayList = new ArrayList<>();
|
|
|
- groupedEvaluateManageItemVo.forEach((topic, group) -> {
|
|
|
- evaluateManageItemByTopicVoArrayList.add(new EvaluateManageItemByTopicVo(){{
|
|
|
- setTopic(topic);
|
|
|
- setEvaluateManageItemVoList(group);
|
|
|
- }});
|
|
|
- });
|
|
|
- evaluateResultDetailPageDetailVo.setEvaluateManageItemByTopicVoList(evaluateManageItemByTopicVoArrayList);
|
|
|
-
|
|
|
+ //获取list
|
|
|
+ evaluateResultDetailPageDetailVo.setEvaluateResultDetailPageDetailList(evaluateResultMapper.getDetailPageDetailList(dto));
|
|
|
return evaluateResultDetailPageDetailVo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public IPage<ResultViewingPageVo> pageResultViewing(ResultViewingPageDto dto) {
|
|
|
- //根据评价管理id获取该评价下按被评人分组的分页数据
|
|
|
+ List<ResultViewingPageVo> resultData = new ArrayList<>();
|
|
|
+ //获取该评价管理下的被评对象-分页
|
|
|
MPJLambdaWrapper<EvaluateObject> evaluateObjectMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
evaluateObjectMPJLambdaWrapper
|
|
|
+ .distinct()
|
|
|
.selectAs(EvaluateObject::getObjectId, ResultViewingPageVo::getObjectId)
|
|
|
- .selectAs(EvaluateObject::getObjectType, ResultViewingPageVo::getObjectType)
|
|
|
- .eq(EvaluateObject::getEvaluateManageId, dto.getEvaluateManageId());
|
|
|
-
|
|
|
+ .select("ifnull(t1.name, t2.name) as objectIdCN")
|
|
|
+ .leftJoin(XjrUser.class, XjrUser::getId, EvaluateObject::getObjectId)
|
|
|
+ .leftJoin(BaseClass.class, BaseClass::getId, EvaluateObject::getObjectId)
|
|
|
+ .eq(EvaluateObject::getEvaluateManageId, dto.getEvaluateManageId())
|
|
|
+ .disableSubLogicDel();
|
|
|
IPage<ResultViewingPageVo> resultViewingPageVoIPage = evaluateObjectMapper.selectJoinPage(ConventPage.getPage(dto), ResultViewingPageVo.class, evaluateObjectMPJLambdaWrapper);
|
|
|
- //遍历分页记录
|
|
|
+
|
|
|
+ //获取该评价管理下的题目-多个
|
|
|
+ MPJLambdaWrapper<EvaluateManageItem> evaluateManageItemMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ evaluateManageItemMPJLambdaWrapper
|
|
|
+ .eq(EvaluateManageItem::getEvaluateManageId, dto.getEvaluateManageId());
|
|
|
+ List<EvaluateManageItem> evaluateManageItemList = evaluateManageItemMapper.selectList(evaluateManageItemMPJLambdaWrapper);
|
|
|
+
|
|
|
for (ResultViewingPageVo resultViewingPageVo : resultViewingPageVoIPage.getRecords()) {
|
|
|
- //添加应打分人数,实际打分人数,综合评分
|
|
|
- MPJLambdaWrapper<EvaluateExecuter> evaluateExecuterPlanExecuterNum = new MPJLambdaWrapper<>();
|
|
|
- evaluateExecuterPlanExecuterNum
|
|
|
+ //获取该评价管理下的单个被评对象的应打分人数,实际打分人数
|
|
|
+ MPJLambdaWrapper<EvaluateExecuter> evaluateExecuterMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ evaluateExecuterMPJLambdaWrapper
|
|
|
+ .select("count(t.id) as planExecuterNum")
|
|
|
.selectSum(EvaluateExecuter::getStatus, ResultViewingPageVo::getActualExecuterNum)
|
|
|
- .selectSum(EvaluateResult::getScore, ResultViewingPageVo::getActualExecuterNum)
|
|
|
- .leftJoin(EvaluateResult.class, EvaluateResult::getEvaluatedObjectId, EvaluateExecuter::getEvaluateObjectId)
|
|
|
+ .leftJoin(EvaluateObject.class, EvaluateObject::getId, EvaluateExecuter::getEvaluateObjectId)
|
|
|
.eq(EvaluateExecuter::getEvaluateManageId, dto.getEvaluateManageId())
|
|
|
- .eq(EvaluateExecuter::getEvaluateObjectId, resultViewingPageVo.getEvaluateObjectId());
|
|
|
-
|
|
|
- List<ResultViewingPageVo> resultViewingPageVoList = evaluateExecuterMapper.selectJoinList(ResultViewingPageVo.class, evaluateExecuterPlanExecuterNum);
|
|
|
- resultViewingPageVo.setPlanExecuterNum(resultViewingPageVoList.size());
|
|
|
-
|
|
|
- //查出所有的题目项目
|
|
|
- MPJLambdaWrapper<EvaluateManageItem> evaluateManageItemMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
- evaluateManageItemMPJLambdaWrapper
|
|
|
- .selectSum(EvaluateResult::getScore, AllEvaluateManageItemVo::getAllActualScore)
|
|
|
- .selectAs(EvaluateManageItem::getProblem, AllEvaluateManageItemVo::getProblem)
|
|
|
- .selectAs(EvaluateManageItem::getTopic, AllEvaluateManageItemVo::getTopic)
|
|
|
- .leftJoin(EvaluateResult.class, EvaluateResult::getEvaluateItemId, EvaluateManageItem::getId)
|
|
|
- .eq(EvaluateManageItem::getEvaluateManageId, dto.getEvaluateManageId())
|
|
|
- .eq(EvaluateResult::getEvaluatedObjectId, resultViewingPageVo.getEvaluateObjectId())
|
|
|
- .groupBy(EvaluateManageItem::getProblem, EvaluateManageItem::getTopic);
|
|
|
-
|
|
|
- List<AllEvaluateManageItemVo> allEvaluateManageItemVoList = evaluateManageItemMapper.selectJoinList(AllEvaluateManageItemVo.class, evaluateManageItemMPJLambdaWrapper);
|
|
|
-
|
|
|
- Map<String, List<AllEvaluateManageItemVo>> groupedAllEvaluateManageItemVo = allEvaluateManageItemVoList.stream()
|
|
|
- .collect(Collectors.groupingBy(AllEvaluateManageItemVo::getTopic));
|
|
|
-
|
|
|
- List<AllEvaluateManageItemByTopicVo> allEvaluateManageItemByTopicVoList = new ArrayList<>();
|
|
|
- groupedAllEvaluateManageItemVo.forEach((topic, group) -> {
|
|
|
- allEvaluateManageItemByTopicVoList.add(new AllEvaluateManageItemByTopicVo(){{
|
|
|
- setTopic(topic);
|
|
|
- setAllEvaluateManageItemVoList(group);
|
|
|
- int allTopicScore = 0;
|
|
|
- for (AllEvaluateManageItemVo allEvaluateManageItemVo : group) {
|
|
|
- allTopicScore += allEvaluateManageItemVo.getAllActualScore();
|
|
|
+ .eq(EvaluateObject::getObjectId, resultViewingPageVo.getObjectId())
|
|
|
+ .disableSubLogicDel();
|
|
|
+ ResultViewingPageVo planAndActualExecuterNum = evaluateExecuterMapper.selectJoinOne(ResultViewingPageVo.class, evaluateExecuterMPJLambdaWrapper);
|
|
|
+
|
|
|
+ for (EvaluateManageItem evaluateManageItem : evaluateManageItemList) {
|
|
|
+ //获取该评价管理下的单个被评对象的每一道题的总得分
|
|
|
+ MPJLambdaWrapper<EvaluateResult> evaluateResultMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ evaluateResultMPJLambdaWrapper
|
|
|
+ .selectSum(EvaluateResult::getScore, ResultViewingPageVo::getSumScore)
|
|
|
+ .leftJoin(EvaluateObject.class, EvaluateObject::getId, EvaluateResult::getEvaluatedObjectId)
|
|
|
+ .eq(EvaluateResult::getEvaluateItemId, evaluateManageItem.getId())
|
|
|
+ .eq(EvaluateObject::getObjectId, resultViewingPageVo.getObjectId())
|
|
|
+ .disableSubLogicDel();
|
|
|
+ ResultViewingPageVo sumScore = evaluateResultMapper.selectJoinOne(ResultViewingPageVo.class, evaluateResultMPJLambdaWrapper);
|
|
|
+ resultData.add(new ResultViewingPageVo() {{
|
|
|
+ setObjectId(resultViewingPageVo.getObjectId());
|
|
|
+ setObjectIdCN(resultViewingPageVo.getObjectIdCN());
|
|
|
+ setEvaluateManageItemId(evaluateManageItem.getId());
|
|
|
+ setProblem(evaluateManageItem.getProblem());
|
|
|
+ setTopic(evaluateManageItem.getTopic());
|
|
|
+ if (planAndActualExecuterNum != null) {
|
|
|
+ setPlanExecuterNum(planAndActualExecuterNum.getPlanExecuterNum());
|
|
|
+ setActualExecuterNum(planAndActualExecuterNum.getActualExecuterNum());
|
|
|
+ }
|
|
|
+ if (sumScore != null) {
|
|
|
+ setSumScore(sumScore.getSumScore());
|
|
|
}
|
|
|
- setAllTopicScore(allTopicScore);
|
|
|
}});
|
|
|
- });
|
|
|
-
|
|
|
- resultViewingPageVo.setAllEvaluateManageItemByTopicVoList(allEvaluateManageItemByTopicVoList);
|
|
|
-
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ resultViewingPageVoIPage.setRecords(resultData);
|
|
|
+
|
|
|
+// //遍历分页记录
|
|
|
+// for (ResultViewingPageVo resultViewingPageVo : resultViewingPageVoIPage.getRecords()) {
|
|
|
+// //添加应打分人数,实际打分人数,综合评分
|
|
|
+// MPJLambdaWrapper<EvaluateExecuter> evaluateExecuterPlanExecuterNum = new MPJLambdaWrapper<>();
|
|
|
+// evaluateExecuterPlanExecuterNum
|
|
|
+// .selectSum(EvaluateExecuter::getStatus, ResultViewingPageVo::getActualExecuterNum)
|
|
|
+// .selectSum(EvaluateResult::getScore, ResultViewingPageVo::getActualExecuterNum)
|
|
|
+// .leftJoin(EvaluateResult.class, EvaluateResult::getEvaluatedObjectId, EvaluateExecuter::getEvaluateObjectId)
|
|
|
+// .eq(EvaluateExecuter::getEvaluateManageId, dto.getEvaluateManageId())
|
|
|
+// .eq(EvaluateExecuter::getEvaluateObjectId, resultViewingPageVo.getEvaluateObjectId());
|
|
|
+//
|
|
|
+// List<ResultViewingPageVo> resultViewingPageVoList = evaluateExecuterMapper.selectJoinList(ResultViewingPageVo.class, evaluateExecuterPlanExecuterNum);
|
|
|
+// resultViewingPageVo.setPlanExecuterNum(resultViewingPageVoList.size());
|
|
|
+//
|
|
|
+// //查出所有的题目项目
|
|
|
+// MPJLambdaWrapper<EvaluateManageItem> evaluateManageItemMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+// evaluateManageItemMPJLambdaWrapper
|
|
|
+// .selectSum(EvaluateResult::getScore, AllEvaluateManageItemVo::getAllActualScore)
|
|
|
+// .selectAs(EvaluateManageItem::getProblem, AllEvaluateManageItemVo::getProblem)
|
|
|
+// .selectAs(EvaluateManageItem::getTopic, AllEvaluateManageItemVo::getTopic)
|
|
|
+// .leftJoin(EvaluateResult.class, EvaluateResult::getEvaluateItemId, EvaluateManageItem::getId)
|
|
|
+// .eq(EvaluateManageItem::getEvaluateManageId, dto.getEvaluateManageId())
|
|
|
+// .eq(EvaluateResult::getEvaluatedObjectId, resultViewingPageVo.getEvaluateObjectId())
|
|
|
+// .groupBy(EvaluateManageItem::getProblem, EvaluateManageItem::getTopic);
|
|
|
+//
|
|
|
+// List<AllEvaluateManageItemVo> allEvaluateManageItemVoList = evaluateManageItemMapper.selectJoinList(AllEvaluateManageItemVo.class, evaluateManageItemMPJLambdaWrapper);
|
|
|
+//
|
|
|
+// Map<String, List<AllEvaluateManageItemVo>> groupedAllEvaluateManageItemVo = allEvaluateManageItemVoList.stream()
|
|
|
+// .collect(Collectors.groupingBy(AllEvaluateManageItemVo::getTopic));
|
|
|
+//
|
|
|
+// List<AllEvaluateManageItemByTopicVo> allEvaluateManageItemByTopicVoList = new ArrayList<>();
|
|
|
+// groupedAllEvaluateManageItemVo.forEach((topic, group) -> {
|
|
|
+// allEvaluateManageItemByTopicVoList.add(new AllEvaluateManageItemByTopicVo(){{
|
|
|
+// setTopic(topic);
|
|
|
+// setAllEvaluateManageItemVoList(group);
|
|
|
+// int allTopicScore = 0;
|
|
|
+// for (AllEvaluateManageItemVo allEvaluateManageItemVo : group) {
|
|
|
+// allTopicScore += allEvaluateManageItemVo.getAllActualScore();
|
|
|
+// }
|
|
|
+// setAllTopicScore(allTopicScore);
|
|
|
+// }});
|
|
|
+// });
|
|
|
+// resultViewingPageVo.setAllEvaluateManageItemByTopicVoList(allEvaluateManageItemByTopicVoList);
|
|
|
+// }
|
|
|
return resultViewingPageVoIPage;
|
|
|
}
|
|
|
}
|