|
|
@@ -11,10 +11,9 @@ 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.EvaluateManageItemMapper;
|
|
|
-import com.xjrsoft.module.evaluate.mapper.EvaluateManageMapper;
|
|
|
-import com.xjrsoft.module.evaluate.mapper.EvaluateResultMapper;
|
|
|
+import com.xjrsoft.module.evaluate.mapper.*;
|
|
|
import com.xjrsoft.module.evaluate.service.IEvaluateResultService;
|
|
|
import com.xjrsoft.module.evaluate.vo.*;
|
|
|
import com.xjrsoft.module.organization.entity.Department;
|
|
|
@@ -41,6 +40,10 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
|
|
|
|
|
|
private EvaluateManageMapper evaluateManageMapper;
|
|
|
|
|
|
+ private EvaluateObjectMapper evaluateObjectMapper;
|
|
|
+
|
|
|
+ private EvaluateExecuterMapper evaluateExecuterMapper;
|
|
|
+
|
|
|
private XjrUserMapper xjrUserMapper;
|
|
|
|
|
|
private BaseClassMapper baseClassMapper;
|
|
|
@@ -131,7 +134,7 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
|
|
|
MPJLambdaWrapper<EvaluateManageItem> evaluateManageItemMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
evaluateManageItemMPJLambdaWrapper
|
|
|
.select(EvaluateManageItem::getId)
|
|
|
- .selectAs(EvaluateResult::getScore, EvaluateManageItemVo::getActulScore)
|
|
|
+ .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)
|
|
|
@@ -153,4 +156,63 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
|
|
|
|
|
|
return evaluateResultDetailPageDetailVo;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IPage<ResultViewingPageVo> pageResultViewing(ResultViewingPageDto dto) {
|
|
|
+ //根据评价管理id获取该评价下按被评人分组的分页数据
|
|
|
+ MPJLambdaWrapper<EvaluateObject> evaluateObjectMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ evaluateObjectMPJLambdaWrapper
|
|
|
+ .selectAs(EvaluateObject::getObjectId, ResultViewingPageVo::getObjectId)
|
|
|
+ .selectAs(EvaluateObject::getObjectType, ResultViewingPageVo::getObjectType)
|
|
|
+ .eq(EvaluateObject::getEvaluateManageId, dto.getEvaluateManageId());
|
|
|
+
|
|
|
+ IPage<ResultViewingPageVo> resultViewingPageVoIPage = evaluateObjectMapper.selectJoinPage(ConventPage.getPage(dto), ResultViewingPageVo.class, evaluateObjectMPJLambdaWrapper);
|
|
|
+ //遍历分页记录
|
|
|
+ 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;
|
|
|
+ }
|
|
|
}
|