/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ 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.EvaluateCandidateResultEntity; 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.*; /** * 评优任务类别 包装类,返回视图层所需的字段 * * @author Aix * @since 2024-01-04 */ public class EvaluateTaskCategoryWrapper extends BaseEntityWrapper { 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(); } @Override public EvaluateTaskCategoryVO entityVO(EvaluateTaskCategoryEntity evaluateTaskCategory) { EvaluateTaskCategoryVO evaluateTaskCategoryVO = Objects.requireNonNull(BeanUtil.copy(evaluateTaskCategory, EvaluateTaskCategoryVO.class)); //User createUser = UserCache.getUser(evaluateTaskCategory.getCreateUser()); //User updateUser = UserCache.getUser(evaluateTaskCategory.getUpdateUser()); //evaluateTaskCategoryVO.setCreateUserName(createUser.getName()); //evaluateTaskCategoryVO.setUpdateUserName(updateUser.getName()); return evaluateTaskCategoryVO; } public Object listByResult(List list) { List> ret = new ArrayList<>(); for (EvaluateTaskCategoryEntity po: list) { Map map = new HashMap<>(); map.put("category",po); QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("evaluate_task_category_id", po.getId()); queryWrapper.select("*,count(*)"); 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.page(page, queryWrapper); map.put("resultList",entities.getRecords()); ret.add(map); } return ret; } }