From 567775c8ef9761b5fe5d04073ca329b7ef30e22d Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 11 Jan 2024 16:00:14 +0800
Subject: [PATCH] 第一轮结果导出
---
src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskWrapper.java | 96 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 89 insertions(+), 7 deletions(-)
diff --git a/src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskWrapper.java b/src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskWrapper.java
index be7afc6..47ebf90 100644
--- a/src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskWrapper.java
+++ b/src/main/java/org/springblade/modules/evaluate/wrapper/EvaluateTaskWrapper.java
@@ -16,29 +16,45 @@
*/
package org.springblade.modules.evaluate.wrapper;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.reflect.TypeToken;
import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.modules.assessment.wrapper.CandidateJsonObj;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.evaluate.dto.EvaluateTaskDTO;
+import org.springblade.modules.evaluate.entity.EvaluateCandidateResultEntity;
+import org.springblade.modules.evaluate.entity.EvaluateTaskCategoryEntity;
import org.springblade.modules.evaluate.entity.EvaluateTaskEntity;
+import org.springblade.modules.evaluate.entity.EvaluateTaskReferrerEntity;
+import org.springblade.modules.evaluate.service.IEvaluateCandidateResultService;
+import org.springblade.modules.evaluate.service.IEvaluateTaskCategoryService;
+import org.springblade.modules.evaluate.service.IEvaluateTaskReferrerService;
import org.springblade.modules.evaluate.vo.EvaluateTaskVO;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
/**
* 评优任务表 包装类,返回视图层所需的字段
*
* @author aix
- * @since 2023-12-08
+ * @since 2024-01-05
*/
public class EvaluateTaskWrapper extends BaseEntityWrapper<EvaluateTaskEntity, EvaluateTaskVO> {
+
+ private static final IEvaluateTaskReferrerService evaluateTaskReferrerService;
+
+ private static final IEvaluateTaskCategoryService evaluateTaskCategoryService;
+
+ private static final IEvaluateCandidateResultService evaluateCandidateResultService;
+
+ static {
+ evaluateTaskReferrerService = SpringUtil.getBean(IEvaluateTaskReferrerService.class);
+ evaluateTaskCategoryService = SpringUtil.getBean(IEvaluateTaskCategoryService.class);
+ evaluateCandidateResultService = SpringUtil.getBean(IEvaluateCandidateResultService.class);
+ }
public static EvaluateTaskWrapper build() {
return new EvaluateTaskWrapper();
@@ -56,5 +72,71 @@
return evaluateTaskVO;
}
+ public EvaluateTaskDTO entityDTO(EvaluateTaskEntity evaluateTask) {
+ EvaluateTaskDTO dto = Objects.requireNonNull(BeanUtil.copy(evaluateTask, EvaluateTaskDTO.class));
+ return dto;
+ }
+
+ /**
+ * h5返回自己第一轮投票的人
+ * @param pages
+ * @return
+ */
+ public IPage<EvaluateTaskVO> h5ReferremPageVO(IPage<EvaluateTaskEntity> pages) {
+ List<EvaluateTaskVO> records = listVO(pages.getRecords());
+
+ for (EvaluateTaskVO vo: records) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("create_user", AuthUtil.getUserId());
+ queryWrapper.eq("evaluate_task_id", vo.getId());
+ List<EvaluateTaskReferrerEntity> evaluateTaskReferrerEntities = evaluateTaskReferrerService.list(queryWrapper);
+
+ vo.setIsVote(evaluateTaskReferrerEntities.size() > 0);
+ if (vo.getIsVote())
+ vo.setEvaluateTaskReferrerVOS(EvaluateTaskReferrerWrapper.build().listVO(evaluateTaskReferrerEntities));
+ }
+
+ IPage<EvaluateTaskVO> pageVo = new Page<>(pages.getCurrent(), pages.getSize(), pages.getTotal());
+ pageVo.setRecords(records);
+ return pageVo;
+ }
+
+ /**
+ * 第二轮候选人投票
+ * @return
+ */
+ public IPage<EvaluateTaskVO> h5CandidatePageVO(IPage<EvaluateTaskEntity> pages) {
+ List<EvaluateTaskVO> records = listVO(pages.getRecords());
+
+ for (EvaluateTaskVO vo: records) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("create_user", AuthUtil.getUserId());
+ queryWrapper.eq("evaluate_task_id", vo.getId());
+ List<EvaluateCandidateResultEntity> entities = evaluateCandidateResultService.list(queryWrapper);
+
+
+ QueryWrapper qw = new QueryWrapper();
+ qw.eq("evaluate_task_id", vo.getId());
+ List<EvaluateTaskCategoryEntity> evaluateTaskCategoryEntities = evaluateTaskCategoryService.list(qw);
+ int evaluateCount = evaluateTaskCategoryEntities.stream().mapToInt(EvaluateTaskCategoryEntity::getPeopleNum).sum(); // 计算总数
+
+ if (vo.getType() == 0) {
+ vo.setIsVote(entities.size() == evaluateCount);
+ if (entities.size() > 0)
+ vo.setEvaluateCandidateResultVOS(EvaluateCandidateResultWrapper.build().listVO(entities));
+ } else {
+ vo.setIsVote(entities.size() > 0);
+ if (entities.size() > 0)
+ vo.setEvaluateCandidateResultVOS(EvaluateCandidateResultWrapper.build().listVO(entities));
+ }
+
+
+ }
+
+ IPage<EvaluateTaskVO> pageVo = new Page<>(pages.getCurrent(), pages.getSize(), pages.getTotal());
+ pageVo.setRecords(records);
+ return pageVo;
+ }
+
}
--
Gitblit v1.9.3