| | |
| | | */ |
| | | package org.springblade.modules.evaluate.wrapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.springblade.core.mp.support.BaseEntityWrapper; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.core.tool.utils.SpringUtil; |
| | | import org.springblade.modules.evaluate.entity.EvaluateTaskCategoryEntity; |
| | | import org.springblade.modules.evaluate.entity.EvaluateTaskEntity; |
| | | import org.springblade.modules.evaluate.service.IEvaluateCandidateResultService; |
| | | import org.springblade.modules.evaluate.service.IEvaluateTaskService; |
| | | import org.springblade.modules.evaluate.vo.EvaluateTaskCategoryVO; |
| | | import java.util.Objects; |
| | | |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 评优任务类别 包装类,返回视图层所需的字段 |
| | |
| | | * @since 2024-01-04 |
| | | */ |
| | | public class EvaluateTaskCategoryWrapper extends BaseEntityWrapper<EvaluateTaskCategoryEntity, EvaluateTaskCategoryVO> { |
| | | |
| | | private static final IEvaluateTaskService evaluateTaskService; |
| | | private static final IEvaluateCandidateResultService evaluateCandidateResultService; |
| | | |
| | | static { |
| | | evaluateTaskService = SpringUtil.getBean(IEvaluateTaskService.class); |
| | | evaluateCandidateResultService = SpringUtil.getBean(IEvaluateCandidateResultService.class); |
| | | } |
| | | |
| | | public static EvaluateTaskCategoryWrapper build() { |
| | | return new EvaluateTaskCategoryWrapper(); |
| | |
| | | } |
| | | |
| | | |
| | | public Object listByResult(List<EvaluateTaskCategoryEntity> list) { |
| | | List<Map<String,Object>> ret = new ArrayList<>(); |
| | | for (EvaluateTaskCategoryEntity po: list) { |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("category",po); |
| | | |
| | | QueryWrapper queryWrapper = new QueryWrapper(); |
| | | queryWrapper.eq("evaluate_task_category_id", po.getId()); |
| | | queryWrapper.select("*,count(*) voteNum"); |
| | | EvaluateTaskEntity taskEntity = evaluateTaskService.getById(po.getEvaluateTaskId()); |
| | | if (taskEntity.getType() == 0) { |
| | | queryWrapper.groupBy("user_id"); |
| | | } else { |
| | | queryWrapper.groupBy("dept_id"); |
| | | } |
| | | |
| | | queryWrapper.orderByDesc("count(*)"); |
| | | |
| | | Page page = new Page(1,po.getPeopleNum()); |
| | | |
| | | IPage entities = evaluateCandidateResultService.pageMaps(page, queryWrapper); |
| | | map.put("resultList",entities.getRecords()); |
| | | |
| | | ret.add(map); |
| | | } |
| | | |
| | | return ret; |
| | | } |
| | | } |